js 学习笔记---基本概念
2013-11-02 20:54
706 查看
早已接触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里的值,修改传递进来的参数值。
测试代码:
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学习笔记(二) js一些基本概念
- javascript学习笔记(二) js一些基本概念
- js 学习笔记---基本概念
- js高程第三章基本概念学习笔记
- JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺
- Javascript学习笔记03——Js基本概念
- js高级程序设计学习笔记——基本概念
- IOStream系统学习笔记 IOStream基本概念
- 计算机网络学习笔记--基本概念
- Hibernate学习笔记之基本概念
- 编解码学习笔记(一):基本概念
- linux_C一站学习--学习笔记(一)程序的基本概念;常量、变量和表达式;简单函数
- Git版本控制管理学习笔记3-基本的Git概念
- Ubuntu操作系统学习笔记之磁盘基本概念
- 【分布计算环境学习笔记】1 基本概念和发展历史
- Django学习笔记3:Model,Template,View 基本概念
- Python 学习笔记(2) - 基本概念、运算符与表达式
- 算法设计和复杂性理论学习笔记_1(基本概念)
- 数据结构基本概念 - 学习笔记
- Linux驱动学习笔记----------input输入子系统(基本概念与流程)