JavaScript学习笔记
来源:互联网 发布:淘宝为什么被限制登录 编辑:程序博客网 时间:2024/04/28 19:33
对象
创建对象几种方式
//字面量var customer = {};//构造函数var obj = new Object();
构造函数
构造函数和一般函数并没什么大的区别。一般函数名大写,对象自身属性用this.attr表示。也可以通过原型动态添加属性。
function Person(name, age){ this.name = name; this.age = age;}//通过原型添加属性Person.prototype.address = 'hz';Person.prototype.work = function (someting){ //dosometing};Person.prototype.car = {};
函数
函数也是一种对象,可以用Function构造函数直接创建:
var func = new Function('arg1', 'arg2', 'return arg1 + arg2');
在Function中除了最后一个是函数体外,其他都是传入的参数。
函数有自己的属性length,表示参数的个数。
函数里内置变量arguments表示传入的参数,类似数组。但这个对象还有一个名叫 callee 的属性,该属性是一个指针,指向拥有这个 arguments 对象的函数。
函数里内置this表示当前上下文。
函数声明和表达式
//以下是声明。可以在声明前提前调用函数。function add(){}//以下是表达式。只用在表达式定义后才能调用函数var add = function(){ //...}
函数名作为值
既然函数是一种对象,那么函数名其实就是一个对象的引用,它可以作为值进行传递和赋值。可以用来实现回调和闭包。
//回调funcfunction call(args, func){ return func(args);}//从一个函数返回另外一个函数function closure(args){ return function(args){ //... };}
立即执行函数
一般形式:
(function (arg){ //...})(arg);
顾名思义,立即执行函数就是定义后马上执行的函数。在立即执行的函数里面是独立的命名空间,可以隔离全局命名空间,避免污染全局命名空间。
闭包
闭包是指可以访问其它函数(一般指外部函数)作用域的函数。
作用域
JavaScript没有私有成员的说法,任何成员都是共有的。不过函数中的变量被认为是私有的,函数外部无法访问。
没有块级作用域
Javascript不像C和Java里面有块级作用域。
for(var i = 0; i < 10; i++){ }//i有可能污染全局命名空间。 // i没有被销毁,仍旧有效 var i;//即使重新声明后,仍旧视而不见 console.log(i); //这里仍旧输出10
设置私有作用域
用立即执行函数设置私有作用域;
从而限定
(function privateScope(){ var i = 10;})();//i已经被销毁了console.log(i);//这里访问会报错:i is not defined
1 0
- javascript cookie学习笔记javascript
- javascript学习笔记
- Javascript学习笔记
- JavaScript学习笔记1
- JavaScript学习笔记2
- JavaScript学习笔记3
- JavaScript学习笔记4
- JavaScript学习笔记5
- JavaScript学习笔记6
- JavaScript学习笔记7
- JavaScript 学习笔记 1
- JavaScript 学习笔记 2
- JavaScript 学习笔记 3
- JavaScript 学习笔记 4
- javascript学习笔记
- javascript学习笔记
- JavaScript学习笔记 一
- javascript学习笔记
- 关于高斯滤波器的一些疑问
- 欢迎使用CSDN-markdown编辑器
- hadoop WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using b
- 通过vbscript批量更新excel文档oracle数据源(版本2:ListObjects.refresh方法)
- Apache Commons 工具类介绍及简单使用
- JavaScript学习笔记
- php实现kmp算法
- 2015年第六届蓝桥杯C/C++程序设计本科B组省赛 垒骰子(编程大题)
- USACO : Party Lamps dfs 深搜
- 微信企业号开发(3)--建立连接(回调)
- 贪心&FatMouse' Trade
- 重学C++ (八) 复制控制
- 第一篇博客
- 接口测试-runscope接口测试服务平台