-
$age就是一个变量,不想在函数外部暴露这个属性
+val:将val变为数字
查看全部 -
隐式转换:
1.==
null == undefined
string == number,会尝试将string转化为number
boolean == ?,先将boolean转化为数值
2.===
null === null
undefined ===undefined
NaN ≠NaN
查看全部 -
javascript六种数据类型:
五种原始类型:
number/string/boolean/null/undefined
一种对象类型:
object(Array/Date/...)
查看全部 -
隐式转换:
字符+数字=字符串
字符-数字=0
字符==数字 会隐式转换
=== 显示判断类型
查看全部 -
instanceof 存在继承关系的两个类,父类引用指向子类对象,用子类的对象去判断是不是父类类型时 肯定是true,子类引用不可以指向父类对象。
查看全部 -
32 + 32 //64
"32" + 32 // "3232"
"32" -32 // 0
查看全部 -
get, set设置属性与一般设置属性的区别,get、set不加冒号,而是空格分隔。
查看全部 -
严格等于与非严格等于的区别:
查看全部 -
var obj = {x:1, y:2}对象属性读写的两种方式
obj.x。
obj['x'],这种方式可以使用字符串拼接的方式实现动态获取属性值。
查看全部 -
Object.defineProperty(cat, 'price', {enumerable: false, value: 1000});
enumerable可以不写,默认为false。
查看全部 -
判断对象属性是否存在,有几种方式
1.使用in关键字。
该方法可以判断对象的自有属性和继承来的属性是否存在。
var o={x:1};"x" in o; //true,自有属性存在"y" in o; //false"toString" in o; //true,是一个继承属性
2.使用对象的hasOwnProperty()方法。
该方法只能判断自有属性是否存在,对于继承属性会返回false。
var o={x:1};o.hasOwnProperty("x"); //true,自有属性中有xo.hasOwnProperty("y"); //false,自有属性中不存在yo.hasOwnProperty("toString"); //false,这是一个继承属性,但不是自有属性
3.用undefined判断
自有属性和继承属性均可判断。
var o={x:1};o.x!==undefined; //trueo.y!==undefined; //falseo.toString!==undefined //true
该方法存在一个问题,如果属性的值就是undefined的话,该方法不能返回想要的结果,如下。
var o={x:undefined};o.x!==undefined; //false,属性存在,但值是undefinedo.y!==undefined; //falseo.toString!==undefined //true
4.在条件语句中直接判断
这种方式会将o.x转成boolean类型,
null、undefined、NaN、+0、-0、""
,这六种转换成布尔类型是false,其余都是true。var o={};if(o.x) o.x+=1; //如果x是undefine,null,false," ",0或NaN,它将保持不变
查看全部 -
Object.create({x:1})创建一个对象,它的原型是{x:1}对象。
查看全部 -
首先要有分别判断。
查看全部 -
类型检测。
查看全部 -
严格模式的特点:
查看全部
举报