js高程(1)

探讨了JS编程中的关键实践,包括脚本加载策略、变量管理、数据类型理解、运算规则及常见陷阱,强调了最佳实践如外部文件引用、严格模式使用及浮点数处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js高级程序设计(一):
1. 带有scr属性的<script></script>之间再写代码会被忽略;
2.<script></script>放在head中页面加载延迟,所以要放在body中;
3.xhtml中需加延时脚本defer="defer"属性:使脚本在执行时不会影响页面结构,只适用于外部脚本文件;
4.异步脚本async属性:不保证先后顺序,不让页面等待两个脚本下载和执行,从而异步加载页面其他内容,建议异步脚本不要在加载期间修改dom,会在页面的load事件前执行
5.xhtml中a < b 中的<会被当作新标签来解析,小于号后不能跟空格,会导致语法错误;
解决方法:(1)a <; b  (2)<[[CDATA{a < b }   ]]>//当浏览器不兼容xhtml时,将cdata注释掉;
6.将页面的MIME类型指定为"application/xhtml+xml"的情况下会触发xhtml模式。并不是所有浏览器都支持这种方式提供文档;
7.<script><!--      代码   //--></script>//不支持js的浏览器忽略js代码,在xhtml模式下,因为脚本包含在xml注释中,所以脚本会被忽略;
8.尽量引用外部文件;
9.文档模式:混杂模式让IE行为接近IE5,标准模式让IE行为接近标准,默认开启混杂模式
10.<noscript> <p>本页需要浏览器支持(启用)js </noscript>  //脚本无效时显示;
11.<script>放在</body>前
12.变量名区分大小写,命名同java;
13.function的第一行写严格模式"use strict";
14.关键字做标识符:Identifier Expected 错误;
15.给未声明的变量赋值在严格模式下报错ReferenceError(省略var定义全局变量);
16.严格模式下,不能定义名为eval或arguments的变量,否则报错;
17.typeof(a);typeof a; typeof 95;//都可,尽量使用();
18.a; alert(a);//报错 , a=1(严格报错) , var a=1;
19.a; alert(typeof(a));//报错 a=1,(严格报错), var a=1;
20.alert(a);//报错
    alert(typeof a);//undefined
     var a ;alert(typeof a);//undefined
21.保证显式初始化,undefined为未声明变量
22.var call=null; alert(typeof car);//"object" ,保存对象的变量初始化最好为null;typeof来区别函数和其他对象是有必要的
23.null==undefined;//true  //引入undefi为了正是区分空对象指针和未初始化的变量
24.true/false是区分大小写的(True/False只是标识符);
25.true:(非空字符串,非零数值,对象)false:(空字符串,0和NaN,null(对象),undefined);
26.var a=070;//八进制56;
     var a=08;//无效八进制-解析为8;
    0x开头十六进制;0开头八进制
27.var a=.1 // 0.1有效但不推荐
28.var a=1.0 // 1
    var a=1. //1
29.var a=0.1;

var b=0.2

if(a+b==0.3){

alert( a);

}//错误,不要测试某个特定的浮点数值
30.超过js范围会转成(-)infinity
31.var result=Number.Max_VALUE+Number.MAX_VALUE;
    alert(isFinite(result));//false (isFinite()判断有穷);
32. 访问Number.NEGATIVE_INFINITY和Number.POSTTIVE_INFINITY两个属性中保存折-infinity和infinity;
 33.任何数%0;//NaN
    NaN和任何数不相等,包括本身
    isNaN(NaN);//true   
    isNaN("blue");//true(isNaN会转换为数值,不能转的为true);
34.isNaN()适用于对象
35.Number();//null反0,undefined反NaN,只含数值的字符串"011"反11,"0xf"反十进制数,空字符串反0,"普通字符串"反NaN
                       "011"反11,"0x11"反17,011反9,0x11反17
    parseInt();//空字符串反NaN,"22.3"反22,"0x11"反17,"011"(es3反9,es5反11),若第一个不为数字字符或负号则反NaN;
                    var num1=parseInt("AF",16);//175
                    var num2=parseInt("AF");//NaN
                    多数情况下第二个数置10
    parseFloat();//"22.34.5"反22.34,"0908.5"反908.5
36.字符串单双引号都可,但使用时要匹配。\n(换行)\t(制表)\b(空格)\r(回车)\f(进纸)\\(斜杠)\`(单引号)\''(双引号)\xnn(字符)\unnn(十六进制Unicode字符)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值