javascript里面有6种基本类型的值:number、string、boolean、object、function和undefined。
number:就是数字值,包括整数、小数、NaN、正负无穷。
string:字符串类型、单双引号引起来的内容。
boolean:true、false
object:表示所有的javascript对象,不用多说
function:我们熟悉的方法,也就是函数类型,是javascript特有的数据类型。
undefined:表示变量声明了但是并没有被赋值。
javascript之变量:
javascript声明变量用var关键字+name表示。
javascript变量是弱变量类型,所谓的弱变量类型其实就是根据赋值决定变量的类型。
javascript变量分为全局变量和局部变量,所有在方法里声明的变量,都是局部变量,在方法外声明的变量都是全局变量。
javascript之运算操作符:
javascript里运算符和java基本一样,typeof 操作符是判断数据类型的操作符,非常的实用。
1. javascript函数定义的三种形式
(1)function语句形式,如:
function fun1(){ alert("fun1...."); }
(2) 变量声明形式,如:
var fun2 = function(){ alert("fun2..."); }
(3) 构造方法式,如:
var fun3 = new Function("x","y","z","return x+y+z"); alert(fun3(20,40,60));
最后一个参数是方法,其他的参数是函数的参数
这个方法的定义形式具有顶级作用域,如以下代码:
var k = 1; function test(){ var k = 2; var fun2 = function(){ alert(k); } var fun3 = new Function("alert(k)"); fun2(); fun3(); } test();
执行后,fun2打出来是2,而fun3打出来却是1,说明用构造函数定义的方法,使用的变量是顶级的变量。
2. arguments对象
第一个函数都会内置一个arguments对象。arguments是一个数组,里面放了所有函数的变量,可以通过下标去访问变量。
3. Javascript闭包
现代流行的流行的框架,大多要使用闭包,使用闭包的好处在于不用使用全局变量。
如下面的例子。
<html>
<head>
<script type="text/javascript">
var imp = (function(){
var i = 0;
return {
inscrease : function(){
return ++i;
}
}
})();
function test(){
alert(imp.inscrease());
}
</script>
</head>
<body>
<button onclick="test()">点击</button>
</body>
</html>
这里我们点击一次的时候要求i+1并打印出来,如果不在闭包中使用局部变量的话,那么方法使用完成后,i的作用域就会消失,而使用闭包,Javascript的解释器发现局部变量i还需要被使用,则i不会被回收。
this关键字的使用
this关键字总是指向调用者,谁调用函数,this就指向谁
call、apply的使用
call和apply主要应用与框架底层,用于绑定函数的执行环境/作用域
块的概念
和高级程序语言不同,js里没有块的概念,我们一般用小括号包裹块级作用域
underscore下载地址:http://underscorejs.org/
关于querySelectorAll的一些记录,querySelectorAll类似于jquery中的选择器,但只支持火狐和Chrome,例子:
var redThings = document.querySelectorAll('div.red'); alert(redThings.length);
这段代码可以在火狐与Chrome中运行,但IE运行出错。