Category Archives: Uncategorized

Posted by akasuna on 2012-03-06 at 2:27 pm

jQuery 对有些方法进行了“重载”,所有对某元素赋值或取值的时候所用的方法名是一样的,只是参数列表不同。当用 jQuery 方法对元素赋值的时候,它称为 setter,取值的时候称为 getter。setter 会对选择器中的所有所有元素赋值,getter 只取得选择器中第一个元素的值。 $(‘h1′).html(‘hello world’); // setter var str = $(‘h1′).html(); // getter setter 返回的是 jQuery 对象,可以继续在这个对象上调用 jQuery 方法(链式操作),getter 仅放回我们想要的值,返回值不是 jQuery 对象,所以不能继续链式操作了。

Posted by akasuna on 2012-03-06 at 12:13 pm

$(document).ready() 打开一个网页,如果 HTML 没有完全加载完毕,就去操作页面中元素是不安全的,但是监测 HTML 是否加载完毕呢?jQuery 提供了一个 $(document).ready() 方法,任何 ready 中的代码在 HTML 完全加载完成后才会被执行。 $(document).ready(function() { console.log(‘ready!’); });

Posted by akasuna on 2012-03-05 at 4:45 pm

所谓作用域,就是说这个变量在代码块中的有效范围。如果不理解 JavaScript 作用域,调试代码的时候可能会比较困难。 在函数中,如果用 var 来声明一个变量,那么该变量的作用域就只限于该函数内部,函数外的代码无法访问该变量。如果在该函数中再声明一个函数,那么这个内部的函数也可以访问这个变量。 反过来,如果声明变量的时候没有用 var,那么此变量的作用域就不局限于这个函数了。JavaScript 引擎会再全局范围中检查该变量是否被定义过。如果该变量没有被定义过,那么它就会被定义为一个全局变量。

Posted by akasuna on 2012-03-05 at 3:22 pm

和其它许多面向对象的语言一样,JavaScript 中也有 this 关键字,this 在函数中用来指向调用此方法的对象。实际编程中要判断 this 到底指向谁,一般可遵循以下原则:

Posted by akasuna on 2012-03-05 at 1:41 pm

JavaScript 本身可以用它 typeof 来检测变量的类型,但是有些结果却让人疑惑,例如,数组的类型居然是 “Object” 下面是用 typeof 对各种数据类型的判断结果: