课程,2:00,4:30打卡2次
基本结构
注意,顺序执行,可以多次执行,有两种方式,1.直接写到页面的script标签中,不推荐.也可以写在一个js文件中,然后使用script的src属性引入对应的页面,推荐这个。
但是,不能把引入src
(js文件)和script-alert(嵌入标签里)写在一个标签里.
src:文件可以是.txt,但是不建议。
PS: js不能独立运行,需要导入到网页中,.才能执行。
延迟执行js文件
使用script-defer属性,使js文件延迟到页面解析完毕之后再运行。
这样就会先显示完页面上的文字了。
异步加载js文件
默认,同步(串行)加载。js的大小会影响html代码解析。
设置script-async属性,让网页边加载(js)边解析(html)
效果跟上面差不多。但是,使用了该属性之后,用户就不用顾及script标签的放置位置了,因为是两条线走的。
变量
script中的是块,各块同属一个作用域。这个作用域是全局的。
可以声明多个变量,用逗号隔开。
所有被声明的变量,都会被提升,在执行前获取。
下面和c,python都有区别
上面会显示1
上面写下:undefined2
注意上面,说明,只要在局部作用域定义了a(无论先后),那么全局的都将不可见。
声明局部变量,尽量显式的进行。
全局变量
全局变量太多,会污染全局作用域,降低程序可靠性。故可以:
放在一个名字空间下
把变量追加到唯一名字空间下,降低冲突,使用可以这样:
alert(MyAPP.name.id)
放在一个函数,给一个访问接口
函数体内的,变量参数等,都是私有的,想开就开,想关就关。
数据类型
typeof运算符返回字符串,其中:
null:Object
function(){} : Object