回 帖 发 新 帖 刷新版面

主题: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类问题。


回复列表 (共1个回复)

我来回复

您尚未登录,请登录后再回复。点此登录或注册