js基础知识
js基础知识
数据类型
六种数据类型
原始类型+object
原始类型:
number
string
boolean
null
undefined
object 对象
Function
Array
Date
隐式转换
+和-
字符串 + 数字 = 字符串
字符串 - 数字 = 数字(字符串为数字时)
32+32 = 64
"32" + 32 = "3232"
"32" - 32 = 0
技巧:
num - 0//可以进行字符串转数字
num + '' //可以进行数字转字符串
==
"1.23" == 1.23
0 == false
null = undefined
new Object() = new Object()
[1,2] = [1,2]
===
包装对象
当把一个基本类型数据当对象使用的时候,会隐式转换为对应包装类
赋值完t属性后,str临时对象会被销毁掉,所以无法访问t属性
类型检测
typeof
特殊记忆:typeof null返回的不是null,由于历史原因没有改成null
obj instanceof Object
判断obj是不是某一个类;
不用window或者iframe下对象会不同,所以不能使用
Object.prototype.toString.apply()
constructor和duck type
表达式和运算符
表达式
运算符
逗号运算符
取最右边的,个人觉得可以理解为:从左执行到右
参考:JavaScript逗号运算符
//交换变量,无需第三个变量
var a = 'a', b = 'b';
//method1
a = [b,b=a][0];
//method2
a = [b][b=a,0];
delete运算符
删除属性
可以通过设置对象的configurable为false,表示属性不可删
in运算符
判断对象是否有对应key