You Don't Know JS: this & Object Prototypes( 第3章 对象)
前2章探索了this绑定指向不同的对象需要函数引用的call-site。
但是什么是对象,为什么我们需要指向它们?
本章探索细节。
Syntax
the rules that describe how words and phrases are used in a computer language!
对象来源于两种forms
- declarative(literal) form:
- constructed from
var myObj = {
key: value
// ...
};
var myObj = new Object();
myObj.key = value;
2者的结果没有区别。
用constructed form来创建对象及其少见。 开发者总是使用literal form。就连内建对象也是这样。
Type
object是6种primary types之一。 (string, number, boolean, null, undefined, object)
⚠️, 不是everything in JavaScript is an object, 这句话在JavaScript中完全❌!
对象有复杂的子类型。 complex primitives。
- 函数是一种子类型,a callable object。不过和普通的对象使用方式是一样的。
- 数组Array也是一种子类型,有额外的行为。
- 普通对象是hash类型。是对象的主类型。
Build-in 对象
其他的对象子类型,都是内建对象。
从名字看他们似乎和他们的simple primitives counter-parts(副本)相关,但是:
他们的关系是很复杂的,下面会进行简短的探索。
- String
- Number
- Boolean
- Object
- Function
- Array
- Date
- RegExp
- Error
qu上章提到过[[prototype]] chain, 本章详细分析 ⚠️所有试图模仿类复制的行为,如上章提到的mixins的变种,完全规避了[[Prototype]] chain机制,本章会谈到这方 ... 本章移到“Object oriented programming”和"classes". 看‘class orientation‘ 的设计模式: instantiation, in ... this is a binding made for each function invocation, based entirely on its call-site (how the functi ... Foreword this 关键字和prototypes 他们是用JS编程的基础.没有他们创建复杂的JS程序是不可能的. 我敢说大量的web developers从没有建立过JS Object,仅仅对 ... 本章深挖原型机制. [[Prototype]]比类更直接和简单! https://github.com/getify/You-Dont-Know-JS/blob/master/this%20%26%2 ... 转自:http://zzy603.iteye.com/blog/973649 写的挺好,用于记录,把对象分成概念的Object(var f={})和 类的Object(function F(){}) ... http://anykoro.sinaapp.com/2012/01/31/javascript%E4%B8%ADfunctionobjectprototypes__proto__%E7%AD%89% ... 故事背景 Ref: 你不知道的javascript之Object.create 和new区别 var Base = function () {} (1) var o1 = new Base(); (2 ... n = object对象 for(var p in n){ console.log(p);// 取得是key值 console.log(n[p]);//取得是value值 } 继之前js中数组的常用方 ... centos7.5 安装mysql数据库报错 问题: [root@db01-51 scripts]# /etc/init.d/mysqld start Starting MySQL.Logging t ... 原因:使用负载均衡的时候,第一次请求phpMyAdmin主页的时候web01进行处理,页面返回的cookie存放在web01上.填写用户名密码提交之后,是web02进行处理的,此时给页面的cookie ... myeclipse自带了许多插件,因此使用频率很高,但是对maven框架下web程序似乎不是很好的支持,每次创建web程序总是会报一大堆的异常,因此特此记录一下如何在myeclipse下创建一个web ... 原文:https://blog.csdn.net/sysprogram/article/details/49214727 VS2008在选项里可以设置全局的Include目录和Lib目录, 但是VS2 ... size_t和unsigned int有所不同,size_t的取值range是目标平台下最大可能的数组尺寸,一些平台下size_t的范围小于int的正数范围,又或者大于unsigned int.最典型 ... Torch 两个矩形框重叠面积的计算 (IoU between tow bounding box) function DecideOberlap(BBox_x1, BBox_y1, BBox_x2, ... 问题描述: 上一篇就是NameNode 的HA 部署完成,但是存在问题,问题是如果 主NameNode的节点宕机了,还是需要人工去使用命令来切换NameNode的Acitve 这样很不方便,所以 ... 在linux服务器执行程序时报错: awk: write failure (No space left on device)awk: close failed on file /dev/stdout ... 最近搞到了一台服务器,挂一个脚本刷刷河畔在线时间.脚本随便写了两下,能跑到什么时候就随缘了 https://blog.csdn.net/philosophyatmath/article/details ... 回顾: 1.文件对象: open('file','mode','bufsize') read,readline,readlines,write,writelines,flush,seek,tell 2 ...You Don't Know JS: this & Object Prototypes( 第3章 对象)的更多相关文章
随机推荐