深入理解javaScript原型和闭包(1)--- 一切都是对象
来源:互联网 发布:建筑工程软件有哪些 编辑:程序博客网 时间:2024/05/18 12:02
“一切都是对象”这句话的重点在于如何去理解对象这个概念
——-当然,也不是一切都是对象,值类型就不是对象
首先我们先看一下javascript中一个常用的运算符—–typeof。
typedef输出的几种类型标识,其中undefined、number、string、boolean属于值类型,不是对象;剩下的几种情况—–函数(function() {})、数组([1,’a’,b:20])、对象({})、null、new Klass()(new出来的一切东西都是对象。他们是引用类型。
判断一个变量是不是对象非常简单。值类型的判断用typeof,引用类型的判断用instanceof。
var fn = function() {};console.log(fn instanceof Object);//true
那么在javascript中的对象,到底该如何定义呢?
对象,若干属性的集合
javascript中的对象比较随意,数组是对象,对象还是对象。对象里一切都是属性。只有属性,没有方法。—–方法也是一种属性,因为他的属性表示为键值对的形式。
而且,javascript中的对象可以任意扩展属性,没有class的约束。
var obj = { a : 10, b : function(x) { alert(this.a + x); }, c : { name : '王福鹏', year : 1999 }};
以上代码中,obj是一个自定义的对象,其中a、b、c就是他的属性,而且在c的属性值还是一个对象,他又有name和year两个属性。
这种可能比较容易理解,那么函数和数组也可以这样定义属性吗?—–当然不行,但是他可以用另一种形式,总之函数/数组之流,只要是对象,他就是属性的结合。
var fn = function() {};fn.a = 10;fn.b= function() { alert(123);}fn.c = { name : "王福朋", year : 1998};
上段代码中,函数就作为对象被赋值了a,b,c三个属性,很明显,这就是属性的集合嘛。
这个有用吗?
咱们可以看看jQuery源码!
在jquery中,“jquery”或者“$”,这个变量其实就是一个函数,不信可以用typeof验证一下:
console.log(typeof $); //functionconsole.log($.trim(" ABC "));
验明正身!
其次要解释的就是本文的内容—–一切(引用类型)都是对象,对象是属性的集合最需要了解的就是对象的概念。
- 深入理解javascript原型和闭包(1)-->一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javaScript原型和闭包(1)--- 一切都是对象
- 深入理解javascript原型和闭包系列 深入理解javascript原型和闭包(1)——一切都是对象
- 深入理解javascript(1):一切都是对象
- 深入理解javascript原型和闭包(1)——万物皆对象
- “战术竞技类”外挂打击已开始!揭秘腾讯We Test游戏安全服务新动作!
- 判断链表成环,且找出环的起点
- 头文件 string.h cstring string 区别
- 哈哈哈
- 打开或关闭 Windows 功能
- 深入理解javaScript原型和闭包(1)--- 一切都是对象
- React-Native调试工具
- 表达式计算(栈)
- [Paper Reading]EFFICIENT VECTOR REPRESENTATION FOR DOCUMENTS THROUGH CORRUPTION
- addrinfo& sockaddr结构解析
- HDOH 2309 ICPC Score Totalizer Software(水题)
- MR--WordCount的MapReduce程序注释
- DTE与DCE
- 单点登录原理与简单实现