javascript学习笔记

 

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运行出错。

 

 

你可能感兴趣的:(JavaScript)