黄子涵

随笔分类 -  JavaScript编程全解

摘要:5.12.1 不可变对象的定义 所谓不可变对象,指的是在被生成之后状态不能再被改变的对象。由于对象的状态是由其各个属性的值所决定的,因此从形式上来说也是指无法改变属性的值的对象。也有观点认为,在对象引用了另一个对象的情况下,只有当那个被引用的对象也是不可变的时候,引用了它的对象才能被称为不可变对象。 阅读全文
posted @ 2022-05-28 10:42 黄子涵 阅读(56) 评论(0) 推荐(0) 编辑
摘要:在 JavaScript 的语言规范中并不存在方法这一概念。方便起见,我们将作为对象属性的函数称为方法。 var hzh = { name: "黄子涵", say: function() { console.log("黄子涵是帅哥!"); } } hzh.say(); [Running] node 阅读全文
posted @ 2022-05-28 10:12 黄子涵 阅读(21) 评论(0) 推荐(0) 编辑
摘要:不再使用的对象的内存将会自动回收,这种功能称作垃圾回收。所谓不再使用的对象,指的是没有被任何一个属性(变量)引用的对象。 由 JavaScript 有着客户端程序大多运行时间很短这一历史原因,因此与其他程序设计语言相比,开发者并不太关心对象的存在生命周期。如果整个程序的生命周期就很短,相对来说就没有 阅读全文
posted @ 2022-05-28 09:59 黄子涵 阅读(19) 评论(0) 推荐(0) 编辑
摘要:虽然说起来有些绕口,不过属性也是有其属性的。表 5.1 总结了 ECMAScript 第 5 版中定义了的属性 。 在 ECMAScript 中,属性值被定位为“值属性”这样一种属性。使用这一定义的话,属性就成为了名称(属性名)和多个属性的集合。 表 5.1 属性的属性 属性的属性名 含义 writ 阅读全文
posted @ 2022-05-28 09:52 黄子涵 阅读(34) 评论(0) 推荐(0) 编辑
摘要:JavaScript 的对象和 Java 的映射(Map)类似。 如果将 JavaScript 对象的属性名看作键,属性值看作值,我们会发现它与 Java 中的映射非常相似。JavaScript 的对象还具有 Java 的映射所不具备的附加功能(例如方法或原型继承等),但也可以不理会这些功能,直接将 阅读全文
posted @ 2022-05-28 09:51 黄子涵 阅读(40) 评论(0) 推荐(0) 编辑
摘要:生成的对象可以通过属性来访问。对于对象的引用可以使用点运算符(.)或中括号运算符([])来访问其属性。需要注意的是,在点运算符之后书写的属性名会被认为是标识符,而中括号运算符内的则是被转为字符串值的式子。请看下面的例子: var hzh1 = { x:3, y:4 }; console.log("输 阅读全文
posted @ 2022-05-28 09:50 黄子涵 阅读(65) 评论(0) 推荐(0) 编辑
摘要:5.7.1 对象字面量 在 JavaScript 程序中,如果要使用对象,就需要首先生成该对象。其中一种方法是通过对象字面量来实现对象的生成。 下面列举了一些可以使用对象字面量的情况。请注意这里并没有作严格的分类。 作为 singleton 模式的用法。 作为多值数据的用法(函数的参数或返回值等)。 阅读全文
posted @ 2022-05-28 09:37 黄子涵 阅读(33) 评论(0) 推荐(0) 编辑
摘要:5.6.1 抽象数据类型与面向对象 如果从形式上来定义 JavaScript 的对象,它就是一种属性的集合。所谓属性,即名称与值的配对。属性值可以被指定为任意类型的值,包括数组或其他的对象,都没有问题。 对于对象有一种很常见的定义,即它是一种数据和操作(子程序)的结合。这一定义可以理解为,将面向对象 阅读全文
posted @ 2022-05-28 09:35 黄子涵 阅读(216) 评论(0) 推荐(0) 编辑
摘要:从代码的角度来看,(作为右值)写出变量名以对该值进行获取的操作,或者写在赋值表达式左侧以作为赋值对象进行查询的操作,都被称为对变量名称的查找。 因此,在最外层代码中对变量名进行查找,就是查找全局对象的属性。这其实只是换了一种说法,在最外层代码中能够使用的变量与函数,只有全局变量与全局函数而已。至于对 阅读全文
posted @ 2022-05-28 09:34 黄子涵 阅读(74) 评论(0) 推荐(0) 编辑
摘要:如果试图读取没有被声明的变量,则会引起 ReferenceError 异常,这是一种错误,必须对代码进行修正。避免 ReferenceError 异常的一种方法: var hzh1 = 1; var hzh1 = hzh1 || 7; var hzh2; var hzh2 = hzh2 || 2; 阅读全文
posted @ 2022-05-28 09:34 黄子涵 阅读(138) 评论(0) 推荐(0) 编辑
摘要:其实,在 JavaScript 中变量就是属性,两者何止是相似,本身就是同一个概念。 根据作用域的不同,变量可以被分为全局变量和局部变量(包括参数变量)。全局变量是在最外层代码中声明的变量。所谓最外层代码,指的是写在函数之外的代码。局部变量则是在函数内部声明的变量。全局变量和局部变量两者的本质都是属 阅读全文
posted @ 2022-05-28 09:30 黄子涵 阅读(103) 评论(0) 推荐(0) 编辑
摘要:对象的概念很好地说明了变量是一种拥有名称的客体。对象本身是没有名称的,之所以使用变量,是为了通过某个名称来称呼这样一种不具有名称的对象。 var hzh = {} // 将对象赋值给变量hzh 变量又分为基本类型的变量(值型变量)与引用类型的变量。由于在 JavaScript 中,变量是不具有类型的 阅读全文
posted @ 2022-05-28 09:27 黄子涵 阅读(146) 评论(0) 推荐(0) 编辑
摘要:变量的功能为持有某个值,或者用来表示某个对象。 如果一个变量在声明之后没有进行赋值,它的值就会是undefined。对同一个变量重复进行声明是不会引起什么问题的,原有的值也不会被清空。 var hzh1 = 7; console.log("输出hzh1的值:"); console.log(hzh1) 阅读全文
posted @ 2022-05-28 09:25 黄子涵 阅读(56) 评论(0) 推荐(0) 编辑
摘要:和条件分支语句一样,循环语句也是基本的控制语句。循环处理语句的一个不太严密的定义是,只要某个条件成立就不断重复执行同样处理的控制语句。由于源代码中同一代码块会被反复执行,所以也称为循环指令处理。 在 JavaScript 中有以下 5 种循环语句。for each in 语句在 ECMAScript 阅读全文
posted @ 2022-05-27 18:07 黄子涵 阅读(31) 评论(0) 推荐(0) 编辑
摘要:switch-case 语句是一种语法结构与 if-else 有所不同的条件分支判断语句。其语法结构如下。 // switch-case 语句的语法 switch ( 语句 ) { case 表达式 1: 语句 语句 ...... case 表达式 2: 语句 语句 ...... case 表达式 阅读全文
posted @ 2022-05-27 18:05 黄子涵 阅读(514) 评论(0) 推荐(0) 编辑
摘要:2.1 JavaScript的特点 2.3 变量的基础 2.4 函数基础 2.5 对象的基础 2.6 数组的基础 阅读全文
posted @ 2022-05-27 18:03 黄子涵 阅读(8) 评论(0) 推荐(0) 编辑
摘要:数组是一种用于表达有顺序关系的值的集合的语言结构。在 JavaScript 中,数组并非是一种内建类型。相对地,JavaScript 支持 Array 类,所以数组能够以 Array 类的实例的形式实现。不过,由于有数组字面量的表达方式,所以在一般情况下,只需将其作为内建类型使用即可。 // 数组字 阅读全文
posted @ 2022-05-27 18:01 黄子涵 阅读(22) 评论(0) 推荐(0) 编辑
摘要:2.5.1 对象的定义 Java 中的对象可以认为是类的一种实例化结果,而 JavaScript中并没有类这样的语言构造。JavaScript 中的对象是一个名称与值配对的集合。这种名称与值的配对被称为属性。这样一来,JavaScript 对象可以定义为属性的集合。 面上看,JavaScript 对 阅读全文
posted @ 2022-05-27 18:00 黄子涵 阅读(56) 评论(0) 推荐(0) 编辑
摘要:2.4.1 函数的定义 函数是由一连串的子程序(语句的集合)所组成的,可以被外部程序调用。向函数传递参数之后,函数可以返回一定的值。 console.log("1"); function hzh() { // 声明函数 console.log("2"); } console.log("3"); // 阅读全文
posted @ 2022-05-27 17:59 黄子涵 阅读(68) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示