主题:JavaScript迷你技巧
一、在一个数组的最后添加一个元素
myArray[myArray.length] = ‘New Element’;
二、使用“!!”把任意数据类型转换成Boolean
这个技术可以让你使用“!!”把任意数据类型(比如string, number或integer)转换成Boolean。
例如:
var myString = ‘23255’;
typeof myString; //String
myString = !!myString;
typeof myString //Boolean
三、了解一个函数需要多少个变量
这是一个伟大的技巧,可以让你准确地知道一个函数需要多少个变量。
例如:
function add_nums(num1, num2){
return num1 + num2;
}
add_nums.length;
四、Boolean注意它们之间的区别,因为这会节省你调试脚本的时间
” == ‘0’ // false
0 == ” // true
0 == ‘0’ // true
false == ‘false’ // false
false == ‘0’ // true
false == undefined // false
false == null // false
null == undefined // true
true == 1 // true
” == null // false
false == ” // true
五、for循环
在for循环中你会去迭代一些数组元素或者一些HTML元素。for循环常常如此:
for (var i = 0; i < myarray.length; i++) {
// do something with myarray[i]
}
这样写的问题在于,每一次迭代的时候都会计算数组的长度,尤其在这个参数不是一个数组而是一组HTML元素的时候会降低你的程序的性能。
HTML元素的集合在页面上,这样每次都会去再页面上查找相应的元素,这是非常耗时的。所以对于for循环,你需要预先保存数组的长度,这样写:
for (var i = 0, max = myarray.length; i < max; i++) {
// do something with myarray[i]
}
这样缓存了参数的长度,在每次迭代的时候就不用再去查找计算了。
六、”this”究竟是什么
javascript中的”this”是函数上下文,不是由声明决定,而是由如何调用决定.因为全局函数其实就是window的属性, 所以在顶层调用全局函数时的this是指window对象,而在对象中调用函数时this指向当前对象.
七、typeof与instanceof的区别
typeof返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,包括number,boolean,string,object,undefined,function.语法为typeof(data) 或 typeof data
instanceof则为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型
语法为 o instanceof A
兄弟连IT教育为你解决更多IT类问题。