js 学习笔记---基本概念

阿里 阅读:196 2022-03-07 15:15:32 评论:0

早已接触javascript多年之后,竟然还有这些概念混淆不清,毫不知情,说出来真实无地自容 !

1、使用严格模式,“use strict”,虽然不适用,但是要知道,以免别人使用时,碰到后摸不着头脑!

2、js只有五中基本类型和一种复杂类型,Undefined,String,Number,Boolean,Null 和Object。typeof 返回的都是小写类型,e.g: j null == 'object'

3、var 声明变量未初始化时,变量就是undefined。 null 是一个指向空对象的指针。所以,typeof null = 'object'. 但是undefined派生自null。 null==undefined 是true


5、Object是所有对象的基础,每个对象都具有下列属性和方法:constructor,hasOwnProperty(propertyName)-是否存在某属性,isPrototypeOf(object)-检查传入的对象是否是对象的原型,propertyIsEnumerable(propertyName)-用于检查给定的属性是否能够使用for-in来枚举,toLocaleString(),toString(),valueOf()等。

6、理解参数问题:函数的参数是通过一个参数数组来接收参数的arguments。函数的定义和调用的时候,参数没什么关系,如果定义时写了参数就是可以显示的使用参数。否则,通过arguments[0],arguments[1]等依然可以实现相同的效果。调用时参数传递不够的,后面的自动赋值为undefined。如果多传递的可以通过下标访问arguments获得。还有重要的一点就是:arguments的值始终与对应命名参数的值保持同步,即可以通过改变arguments里的值,修改传递进来的参数值。


测试代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档</title> 
</head> 
 
<body> 
<script type="text/javascript" language="javascript"> 
	var testUndefined; 
	alert(testUndefined); 
	alert(testUndefined == null); 
	alert(typeof null); 
	alert(typeof undefined); 
	var obj = {}; 
	obj.name = 'wch'; 
	obj.pwd =132; 
	alert(obj.hasOwnProperty('name')+":"+obj.hasOwnProperty('id')); 
	alert(obj.toString()+" : "+obj.valueOf()+' : '+obj.toLocaleString()); 
	alert(obj.propertyIsEnumerable('name')+' : '+obj.propertyIsEnumerable('pwd')); 
	function sum(){ 
		var sum = 0; 
		for(var i=0; i< arguments.length; i++){ 
			if(i==3){ 
				arguments[3] = 10; 
			} 
			sum+=arguments[i]; 
		} 
		return sum; 
	} 
	alert(sum(1,2,3)+' : '+sum(10,20,30,60)); 
</script> 
</body> 
</html> 



标签:JavaScript
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

搜索
排行榜
关注我们

一个IT知识分享的公众号