The article contains the basic knowledge of JavaScript…
Js简介


逐行解释,所以是脚本语言







解释型语言和编译型语言


解释型:边解释边执行
输入输出语句
Prompt、alert和console



console.dir
输出一个对象的所有属性和方法
document.write和document.writeln
将字符串直接打印到浏览器
两者都是JavaScript向客户端输出的方法,对比可知写法上的差别是一个ln--line的简写,换言之,writeln 方法是以行输出的,相当于在 write 输出后加上一个换行符。
示例1:
document.write("你好")
document.write("你好", "世界")
document.write("你好", "世界", "!")
document.write(Date())
示例2:
document.writeln("你好")
document.writeln("你好", "世界")
document.writeln("你好", "世界", "!")
document.writeln(Date())
标识符、关键字、保留字



变量





只声明不赋值

不使用var声明直接使用

也是可以的,但是它会变全局变量
尽量不要使用name作为变量名

普通变量名没有声明直接使用会导致报错,但是name不会报错,说明name也是有特殊意义的,因此不能使用name做变量名
数据类型

八进制、十六进制

最大值、最小值

数值型三个特殊值

注意:这种写法也可以表示无穷大和无穷小

非数字(NaN)

isNaN()

字符串类型

单双引号嵌套

字符串转义符

字符串长度length


布尔型参与运算

Null、undefined和NaN分别和字符串与数字相加


注意:null和数字相加就等于数字,而undefined或者NaN和数字相加最后结果是NaN
Typeof


类型转换
转换为字符串

转换为数值型



转换为Boolean型

注意浮点数的误差

应该避免直接用浮点数参与运算
“===”比较运算符

短路运算(重要)


应用
中断自增运算

运算符优先级

Switch效率比if更高
If需要从上到下判断,但是switch直接跳到符合条件的行,效率更高
Switch中的变量

Chrome中的断点

Chrome中断点的watch的使用

数组





修改数组长度



注意:不要给数组名赋值,否则里面的数组元素就都没有了

案例
1、

2、

函数
声明方式


注意:第二种是匿名函数
函数参数问题


如果函数的实参数超过形参数,那么将取到形参个数

如果实参数小于形参数,那么大于实参数的形参将是undefined
Return
Js的return只能返回一个值
返回多个值

如果有多个值,返回最后一个,想要返回多值可以用数组实现
没有return的函数
返回undefined

Arguments

只有函数才有arguments对象 而且是每个函数都内置好了这个arguments。当我们不知道要传几个实参的时候就可以用arguments了


Arguments是js特有的,当我们的函数没有形参但是调用的时候给了它实参的时候可以通过arguments来获取所有实参。
可以使用for循环遍历arguments

注意:当我们调用多次该函数的时候,arguments能获取所有函数传过来的实参:


案例

伪数组
类似arguments传回来的就是伪数组

Js特有的全局变量

这个num2虽然在function内部,但是它没有用var声明,而是直接赋值了,那么在这种情况下num2也是全局变量

注意全局变量只有在浏览器关闭的时候才会被销毁,因此比较占内存

Js没有块级作用域

我们发现这个num也是可以打印的
坑
变量声明初始化之前使用变量

结果:undefined
将函数赋值给变量,并在这个操作之前调用该变量

3问这个操作是不会出错的,4问是会出错的
原因:

举例说明:
1、

2、

3、

上述代码结果为undefined
4、

Js集体声明

注意var a = b = c = 9;这个写法相当于var a=9;b=9;c=9;会使得b和c变全局变量
对象





New关键字的原理

遍历对象


时间

数组
添加


删除

索引

转化成字符串

其他

基本包装类型

String

字符串的不可变


字符串的改变其实就是指针指向的改变,原来的字符串是一直存在的,因此不要频繁修改字符串或者拼接字符串

字符索引



根据位置返回字符


其他




简单类型和复杂类型

有个特殊情况 null









