首页 > 编程语言 > 详细

读《JavaScript面向对象编程指南》(一)

时间:2017-02-27 19:26:51      阅读:131      评论:0      收藏:0      [点我收藏+]

第二章 基础

通常认为在JavaScript中主要包括五种基本数据类型:
数字、字符串、布尔值、undefined、null。
任何不属于上述五种基本类型的值都被认为是一个对象。

null和undefined:通常认为null是它自有类型的唯一一个成员,undefined是预定义的全局变量(与null不同,它不是关键字),只读,它也是这个类型的唯一成员,如果试图访问某个不存在的或者未经赋值的变量时,就会得到一个undefined值。
有时候执行某种算术运算时,null和undefined的结果会截然不同。

关于NULL

以前只知道在C/C++中代表指针指向空的含义,发现在JS中居然是一种primitive type,有点吃惊,再一搜,发现在Java中也提到这是一种类型,只不过没有name,以前

没有注意到。

在C/C++中只是一个简单的宏定义,注意C++11倡导用 nullptr 代替NULL。

而在Java和JS中,我觉得还是直接看文档吧,把文档贴在这里:

技术分享

 

技术分享

其实 Java和 JS中的 null 本质上还是代表空指针而已,只不过在高级语言中封装一下,甚至把它单独作为一个类型列出来。

绝大部分值在转换为布尔类型时都为true,但以下6种falsy值除外:
"" null undefined 0 NaN false

Note:

(1)NaN == NaN false
(2)惰性求值:true || "some" true;
true && "some" "some";

typeof会返回一个代表数据类型的字符串,它的值包括:"number","string","boolean","undefined","object"和"function"。

 

第三章 函数

函数也是数据,匿名函数,回调函数,自调函数,内部函数,返回函数的函数,能重写自己的函数。

闭包:
1.2.3.
循环中的闭包:

Getter和Setter:

迭代器:

第四章:对象
定义对象的属性时如果属性名是JavaScript的保留字之一的话;如果属性名中包含空格或其他特殊字符的话;如果属性名以数字开头的话,属性必须加引号。

说到数组的时候,我们常说其中包含的是元素。而当我们说对象时,就会说其中包含的是属性。实际上对于JavaScript来说,他们并没有本质上的不同,只是在技术术语上的表达习惯有所不同罢了。这也是它区别于其他程序设计语言的地方。

构造器函数
全局对象
构造器属性(constructor property)

instanceof操作符 测试一个对象是否由某个指定的构造器函数所创建的。

function C2(){this.a = 1; return {b : 2};}
var c2 = new C2();

内建对象:
数据封装类对象——包括Object、Array、Bollean、Number和String。这些对象代表着JavaScript不同的数据类型,并且都拥有各自不同的typeof返回值,以及undefined 和 null 状态。

工具类对象——包括Math、Date、RegExp等用于提供便利的对象。

错误类对象——包括一般性错误对象以及其他各种更特殊的错误类对象。

Object:
toString()方法、valueOf()方法、constructor属性

Array:
相当于属性名从 0 开始递增,并自动生成数值。
length属性
sort()方法、join()方法、slice()方法等

Function:
三种定义函数的方式,
属性:constructor、caller、prototype
方法:call()、apply()
重新认识arguments对象:callee属性

Boolean、Number、Math、Date:

String:
toUpperCase()与toLowerCase()、charAt、indexOf()。
slice()与substring()(对待负值的方式不同)
split()、concat()

RegExp:
属性:global,ignoreCase,multiline,lastIndex,source.前三个可以用regex修饰符来表示:gim。
方法:test(),exec().

Error:

 

读《JavaScript面向对象编程指南》(一)

原文:http://www.cnblogs.com/niuxichuan/p/6475654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!