红宝书学习笔记day2
学习JS的第二天,侄子侄女终于走了,可以安安心心学习了!
p14
标记为async的脚本并不保证按照指定它们的先后顺序执行
异步脚本不要在加载期间修改DOM
异步脚本一定会在页面的load事件前执行,但也可能会在DOMContentLoaded事件触发前或之后执行
p18
</noscript>元素:当前浏览器不支持JavaScript时如何让页面平稳运地退化,指定在不支持脚本的浏览器中显示的替代内容
p19
ES中的一切变量,函数名和操作符都区分大小写
标识符:指变量,函数,属性的名字,或者函数的参数
第一个字符必须是一个字母,下划线或者美元符号
采用驼峰式命名,第一个字母小写,剩下单词首字母大写
p20
不能使用关键名,true,false,null,保留字当标识符
单行注释使用//,块级注释使用/**/
“ use strict; ”开启严格模式,执行结果与平常不相同
p21
建议不要省略语句后的 ;
代码块以{}为标志,在控制语句中使用
关键字用于表示控制语句开始或结束,或用于执行特定的操作 例:case
关键字和保留字都不能用作标识符
p22
ES的变量是松散类型的,可用来保存任何类型的数据
定义变量时使用var类型操作符,后跟变量名
var message="hi";
var操作的变量将成为定义该变量的作用域中的局部变量
局部变量:变量会在函数退出后自动销毁
//例子
function test(){
var message="hi"; //test函数中的局部变量message
}
test();
alert(message); //无法执行
p23
省略var也可以创建全局变量
function test(){
message="hi";
}
test();
alert(message);
但是这种行为并不被推荐,因为容易混淆
利用以下方式同时定义多个变量
var message="hi",
found=false,
age=29; //变量之间用逗号隔开
在js严格模式下,不能够定义名为eval或者arguments的变量
几种简单的变量
1.undefined 未定义的值
2.null
3.boolean 布尔值
4.number 数值
5.string 字符串
6.object 对象
ps:
typeof操作符能够检测数据类型
function是函数,不是数据类型

