zoukankan      html  css  js  c++  java
  • js 学习笔记---基本概念

    早已接触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>
    


  • 相关阅读:
    git学习总结
    vsftpd.conf配置详解
    网卡NAT方式下虚拟机安装FTP服务
    CentOS中vsftpd的主动和被动方式
    PHP面试总结
    虚拟机桥接网络连接方式
    虚拟机搭建ftp环境
    HTML5 WebSocket
    html5 postMessage解决跨域、跨窗口消息传递
    jqury-validate表单验证
  • 原文地址:https://www.cnblogs.com/vvch/p/4027582.html
Copyright © 2011-2022 走看看