大家好,又见面了,我是全栈君。
1.Number()
通过这个函数转化后的值仅仅有两个:数值和NaN,通过parseInt也能转化为数值。可是像“134df”转化后的值为134,而Number(“134df”)则是NaN;
2.String()
转化成字符的方法有两种:调用toString()和String(),通过String()转化后有5种类型:字符串;”true”或者”false”;null;undefined;数值。
3.逻辑非! 非空非0非对象都是false
! 对象→false
! ” “→true
! 非空字符串→false
! 0→true
! 非0数值→false
! NaN→true
! undefined→true
4.逻辑与 &&
5.逻辑或 ||
6.关系操作符(>,<,<=,>=)
7.对象的变量名存放的不是对象而是对象的引用。对象放在堆上面
var obj = new Object();
var obj2 = obj;
obj2.name = “tom”;
alert(obj.name);答案是tom,由于在赋值的时候实际上是把指向这个对象的引用赋值给了obj2,所以当当中一个改变时,另外一个的属性值也会改变,由于他们指向的是同一个空间;而var a = 10;
var b = a;则是简单的将a的值赋值给了b;
8.js垃圾收集方式有两种:标记清除 和 引用计数法。如今眼下的浏览器大多数使用的是标记清除法,可是ie什么的仅仅有在9之后才算全然使用。由于ie9之前的一些比方dom对象本身採用的是引用计数策略。所以即使使用的是标记清除,也仅仅是除了dom对象之外的其它原生的js对象採用的是这些。在ie9时进行了修复,把dom和bom转化成了原生的js对象,这时才是全然的标记清除。
循环引用:
var elem = document.getElementById(“div);
var obj = new Object();
elem.someProperty = obj;
obj.someProperty = elem;因此造成了循环引用。为了解除循环引用我们能够在使用完成之后将其置为null,即elem.somePropery = null;obj.someProperty = null;
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116149.html原文链接:https://javaforall.cn