js类型:
数字、NaN也是数字类型,但NaN!=NaN,因此用isNaN函数判断
字符串、比较运算符可以用于字符串,“a”>"b",数字字符串转换成数字 “567”×1就可以了
布尔值类型、true>false,!!4转换成布尔型,3&&4表达式返回值4,0&&4返回0;也就是返回最终表达式值
特殊类型:undefined,表示变量值没有定义;变量未定义直接使用会出错
函数类型:事件赋值直接赋函数名
弱类型体现在:变量可以先赋值数字再赋值字符串;10/“sss”会返回NaN但不会出错;10ד23”会返回230
函数中的是局部变量,外部就是全局变量
没有块作用域,但在函数中用var声明的就是局部变量;没有var申明变量被当成全局变量,会覆盖原来的值
js一切都是对象,js内置对象有
Math
Date
String 属性length、charAt() charCodeAt() split()----传空串""每个都拆分出来 subStr() subString()
Array(自动变长的、元素类型可以不一样),数组名就是整个数组拼成的字符串 push(1,2,3,"fsadf") join("#") shift()-----去掉第一个元素
Object var o = new Object(). o.xx = "xx"; 相对于对象字面量方式{}没有任何优势。js采用名值对形式实现对象。也可以用下标0123访问,实际上数组是对象的扩展,比对象多一些push join length等东西 ,对象遍历采用for-in循环,不能用obj.i,这个等于访问obj的名为i的属性存放的值,只能用数组