JavaScript基础笔记

1、特殊值 Infinity(超出最大的范围)和NaN(not a number)

2、特殊数据类型:

·无定义数据类型(undefined):var x=undefined;

·空值(null):var x=null;

3、不像C或者C++,内存必须手动释放,Javascript不要求手动释放内存(跟Java相同),它使用一种称为无用存储单元收集(garbage collection)的方法。最常使用的回收算法是标记和清除无用存储单元。

4、JavaScript是一种松散类型、动态类型的语言。声明变量时无需指定数据类型,在执行过程中,JavaScript会根据需要进行自动类型转化。如,当传递给document.write()一个数字是,JavaScript会将其转化成与之等价的字符串表示。

5、对象转换为逻辑值时为true。

6、JavaScript中的数值包括整数呵浮点数,所有数值都是双精度浮点型来表示。整数范围-2^53到2^53。。

7、字符串转化为逻辑值时:长度大于0为true,如下例子:

<script type="text/javascript">
	<!-- <![CDATA[
		var x = "false";
		if(x){
			alert("字符串的x,因为长度非0,所以转换成逻辑值是true");
		}
	//]]-->
</script>
运行结果:


8、javascript的数据类型分为基本数据类型和复杂数据类型。

基本数据类型:数值型、字符串型、Boolean、undefined、null

复杂数据类型:主要有对象、数组与函数

9、由于浏览器对JavaScript代码的执行顺序是从左至右,故在加号(+)连接的表达式中,遇到字符串型数据之前,所有出现的数值型数值(或可被自动转换为数值的数据)仍被作为数值来处理。如下面两个例子:

1)、

<script type="text/javascript">
  <!--<![CDATA[
		 var w = 5;
		 var x = 20;
		 var y = "注意之前的内容";
		 var z = true;
		 alert(w+x+y+z);
  //]]-->
</script>

运行结果:


2)、

<script type="text/javascript">
	<!--<![CDATA[
		 var w = 5;
		 var x = 20;
		 var y = "注意之前的内容";
		 var z = true;
		 alert(""+w+x+y+z);
	//]]-->
</script>

运行结果:


11、在if语句中,表达式,不为0,都为true,如下的赋值表达式:

<script type="text/javascript">
	<!--<![CDATA[
		 var a = 2012;
		 var b = 1515;
		 if(a= b){
			alert("a=b:true");
		 }else{
			alert("a=b:false");
		 }
	//]]-->
</script>

运行结果:


但是把var b = 1515;改为var b = 0;结果就相反了。

避免出现把“==”写成“=”这种错误的方法:把常量写在运算符左边,变量写在右边。因为赋值语句不允许常量写在赋值表达式的左边,所以程序会报错。

12、!=、==和!==、===(要求类型相同),看下例子:

<script type="text/javascript">
	<!--<![CDATA[
		 a= (2012 != 2012);
		 b= (2012 != "2012");
		 b1= (2012 == "2012");//不同类型会自动转化为同一类型
		 c= (2012 !== 2012);
		 d= (2012 !== "2012");
		 d1= (2012 === "2012");//必须类型也要相同
		 alert("2012!= 2012  "+a+"\n"+
				"2012!= \"2012\" "+b+"\n"+
				"2012== \"2012\"  "+b1+"==不同类型会自动转化为同一类型\n"+
				"2012!== 2012  "+c+"\n"+
				"2012!== \"2012\" "+d+"\n"+
				"2012=== \"2012\"  "+d1+"===必须类型也要相同"
				);
		
	//]]-->
</script>

运行结果:


13、字符串是不变的,在JavaScript为了提高效率,在复制和传递字符串是使用的是引用,但在对字符串进行比较时使用的却是,如下例子:

<script type="text/javascript">
	<!--<![CDATA[
		 var s1 = "noting_gonna";
		 var s2 = "noting_gonna";
		 var s3 = "noting_" + "gonna";
		 if(s1== s2 && s2 == s3)
				alert("字符串比较时使用值进行比较");
		 else
				alert("字符串比较时使用引用进行比较");
		
	//]]-->
</script>

运行结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值