Javascript高级程序设计——引用类型

  对象在javascript中被称为引用类型的值,而且有一些内置的引用类型可以创建特定的对象:

    1. 引用类型与传统面向对象中的程序设计的类相似,但实现不同;
    2. Object是一个基础类型,其他所有类型都从Object继承了基本的行为。
    3. Array类型是一组值的有序列表,同时还提供了操作和转换这些值的功能。
    4. Date类型提供了有关日期和时间的信息,包括对信息相关计算功能。
    5. RegExp类型是ECMAScript支持正则表达式的一个接口,提供一些正则表达式的功能。

  函数实际上是Fucntion类型的实例,因此函数也是对象;而这一点正是Javascript最有特色的地方,由于函数是对象,所以函数也有方法,可以用来增强其行为。

  因为有了基本包装类型,所以javascript中的基本类型也可以当作对象类访问,三种基本包装类型分别是:Boolean、Number、String:

    1. 每个包装类型都映射到同名的基本类型;
    2. 在读取模式下访问基本类型时,就会创建对应的基本包装类型的一个对象,从而方便了数据操作
    3. 操作基本类型值的语句一旦执行完毕,就会立即销毁新创建的包装对象。

  在所以代码执行之前,作用域中就已经存在两个内置对象:Global和Math。在大多数ECMAScript实现中都不能直接访问Global对象Web浏览器实现了承担这个角色的window对象。全局变量和函数都是Global对象的属性。Math对象提供了很多属性和方法。

时间: 2024-10-07 13:06:53

Javascript高级程序设计——引用类型的相关文章

《JavaScript高级程序设计》学习笔记(4)——引用类型

欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第五章内容. 在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起,通常也被称为类,有时候也被成为对象定义,因为他们描述的是一类对象所具有的属性和方法.对象是某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数来创建的, var person = new Object() ; 创建了一个object对象.构造函数

JavaScript高级程序设计学习笔记--引用类型

Object类型 对象字面量表示法: var person={ name:"Nicholas", age:29, 5:true }; 这人例子会创建一个对象,包含三个属性:name,age和5.但这里的数值属性名会自动转换为字符串. 对象属性的访问:点表示法和方括号语法 alert(person["name"]); // "Nicholas" alert(person.name); // "Nicholas" 从功能上看,这两

JavaScript高级程序设计之引用类型(下)

此篇内容紧接<JavaScript高级程序设计之引用类型(上)>,下边继续开始: Date类型 Date是一个日期类,用它可以来获取日期和时间以及指定日期的毫秒数.Date类提供了丰富的API,可以通过MDN上的文档来了解:点击这里跳到MDN,这里便不详细阐述了. RegExp类型 正则表达式绝对是编程语言中的一把利器,无使而不利,在日常编码中会经常用正则来匹配一些东西.JS中的正则,可以通过两种方式来创建:字面量形式和实例化构造函数方式.需要注意的是,字面量创建的正则,会共享一个实例,实例化

JavaScript高级程序设计学习(四)之引用类型

在javascript中也是有引用类型的,java同样如此. javascript常见也比较常用的引用类型就熟Object和Array. 一个对象和一个数组,这个在前后端分离开发中也用的最多.比如ajax传参,有时我不仅仅只是需要一个参数,例如添加方法,传的是一个对象,对象存在属性.在java中对象也可以说类.因为类存在属性,例如人类,他的属性有身高,体重,姓名,年龄,性别等.而js对象,也可以这样,比如车,它可以有品牌,颜色,造型等等. js对象可以做什么呢?同java对象有什么区别呢? 第一

《JavaScript高级程序设计第五章--引用类型》之Object对象和array对象

这一章主要就是介绍各种内置对象的用法,认识其经常用到的属性和方法. 5.1Object类型 创建objec的方式,一种是new Object(),一种是对象字面量(简化创建包含大量属性的对象的过程) var person = { name = "Nicholas"; age = 27 };//最后一个属性不必添加逗号,ie7等会导致错误 //在使用对象字面量语法时,属性名也可以使用字符串.这里的数值属性会自动转字符串. var person = { "name" :

JavaScript高级程序设计之函数

函数实际上是对象,每个函数都是Function类型的实例. 函数是引用类型. 函数名实际上是一个指向函数对象的指针,不会与某个函数绑定. // 这种写法更能表达函数的本质 var sum = function(num1, num2) { return num1 + num2; }; var anotherSum = sum; sum = null; console.log(anotherSum(10, 20)); // 30 console.log(sum(10, 20)); // typeer

《Javascript高级程序设计》阅读记录(二):第四章

这个系列之前文字地址:http://www.cnblogs.com/qixinbo/p/6984374.html 这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较深入,而且实际使用价值较大的内容记录下来,并且注释上我的一些想法.做这个一方面是提升了我的阅读效果以及方便我以后阅读 另一个目的是,Javascript高级程序设计这本书内容很多也很厚,希望其他没有时间的人可以通过看这系列摘录,就可以大体学到书里面的核心内容. 绿色背景的内容是我认为比较值得注意的原著内容.

《JavaScript高级程序设计》学习笔记(5)——面向对象编程

欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.前面提到过,ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. ECMA-262把对象定义为:"无序属性的集合,其属性可以包含基本值.对象或者函数.

阅读摘录《javascript 高级程序设计》01

前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了这本<javascript 高级程序设计> ,在每个晚上抽出一个小时来看这本纸质书,系统的学习这门语言. 本文中摘录的都是一些在阅读中,感觉比较重要的信息.如果文中出现差错,欢迎园友拍砖. 摘录: 数据类型 undefined  使用var声明 但未对其初始化 Null null值 Boolean