转自:http://www.zhangxinxu.com/wordpress/2013/07/jquery-%E5%8E%9F%E7%90%86-%E6%9C%BA%E5%88%B6/
只要
new
表达式之后的constructor
返回(return
)一个引用对象(数组,对象,函数等),都将覆盖new创建的匿名对象,如果返回(return
)一个原始类型(无return
时其实为return
原始类型undefined
),那么就返回new
创建的匿名对象。
上面的引用来自这里。什么意思呢?说白了就是,new F()
如果没有返回值(Undefined
类型),或返回值是5种基本型(Undefined
类型、Null
类型、Boolean
类型、Number
类型、String
类型)之一,则new F()
我们可以看成是原型扩展方法中的this
; 如果返回是是数组啊、对象啊什么的,则返回值就是这些对象本身,此时new F()
≠ this
。
举例说明:
var F = function(id) {
return document.getElementById(id);
};
new F("image1") == document.getElementById("image1"); // true 说明看上去返回DOM对象,实际确实就是DOM对象
var F = function(id) {
return id;
};
new F("image1") == "image1"; // false 说明看上去返回字符串值,实际并不是字符串
相关推荐
函数对象还有一个特别的属性prototype,它指向一个新的对象,这个对象的constructor属性会指向原函数,从而形成原型链的一部分。 在JavaScript中,函数可以通过字面量形式创建,这种形式定义的函数称为匿名函数。...
6. **类与对象**: 类是创建对象的模板,对象则是类的实例。在ES6中,你可以这样定义一个类: ```javascript class Person { constructor(name) { this.name = name; } sayName() { console.log(this.name); }...
3. **构造函数(Constructor)**:用于初始化新创建的对象,通常与类名相同且无返回值。构造函数可以重载,以适应不同的初始化需求。 4. **递归函数**:函数内部调用自身,常用于解决分治策略的问题,如斐波那契...
在这个模式下,`jQuery`是一个自执行匿名函数的返回值,而该匿名函数被立即执行,返回一个符合预期的jQuery对象。接下来,我们将重点探讨如何构建jQuery对象以及其内部的一些关键设计。 #### 二、构建jQuery对象 ...
- 默认情况下,`prototype`对象包含一个`constructor`属性,该属性指向构造函数本身。 #### 六、`length`属性 - `length`属性表示函数定义时声明的参数数量。 #### 七、`arguments`对象 - `arguments`是一个类数组...
在JavaScript中,函数也是一种对象,这意味着函数可以被赋值给变量,可以作为参数传递给其他函数,甚至可以作为其他函数的返回值。 创建函数有两种主要方式:函数声明和函数表达式。函数声明通常以`function`关键字...
- 构造函数(Constructor):类的特殊方法,用于初始化新创建的对象。 - 析构函数(Destructor):用于在对象销毁前执行清理工作,但C#中通常使用终结器(Finalizer)。 - 属性(Property):封装字段的访问,...
函数在JavaScript中是第一类对象,这意味着函数可以作为变量、参数或返回值进行操作。所有函数都继承自Function.prototype,因此,它们都有`constructor`属性。例如,`f1.constructor`, `f2.constructor`, 和 `f3....
Java函数速查是Java开发人员不可或缺的工具,它包含了丰富的函数信息和使用示例,能够帮助开发者迅速定位并理解所需函数的功能与用法。在Java编程中,函数是执行特定任务的代码块,它们可以被多次调用,提高了代码的...
在JavaScript中,函数是一种可重用的代码块,可以接受参数并返回值。函数定义有两种常见方式:函数表达式和函数声明。函数表达式如`var func = function() {}`,而函数声明则以`function func() {}`的形式出现。函数...
2. 类的定义与对象的创建 - 成员变量(Fields):存储对象状态的数据成员。 - 构造方法(Constructor):用于初始化新创建的对象,通常与类名相同且无返回值。 - 方法(Methods):实现对象行为的函数,包括实例...
2. **函数**:JavaScript中的函数是第一类对象,可以作为参数传递,也可以作为返回值。手册会涵盖函数的定义、调用、作用域、匿名函数、箭头函数以及函数表达式等概念。 3. **对象**:JavaScript的核心特性之一是...
在JavaScript中,函数是第一类公民,意味着函数可以作为变量赋值、作为参数传递或作为返回值。JavaScript支持多种定义函数的方式,如命名函数、匿名函数和函数表达式。例如: 1. 命名函数(声明式):`function ...
- `sort()`: 对数组进行排序,可接受一个匿名函数来定义自定义排序规则。 - `reverse()`: 翻转数组元素的顺序。 - `splice()`: 可以删除、插入或替换数组元素。 2. 不改变原始数组的方法: - `concat()`: 在...
JavaScript还支持匿名函数、箭头函数和函数表达式。函数也是对象,可以作为变量赋值和作为参数传递。 5. **对象**:对象是键值对的集合,可以使用字面量语法或构造函数创建。JavaScript中的原型继承允许对象之间...
主体:(一)与C语言的区别> 一、C++概述 (一) 发展历史 1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并...
面向对象特性中,类的构造函数(constructor)和析构函数(destructor)用于对象的创建和销毁。抽象类和接口(interface)可以实现设计模式中的抽象和规范。此外,还有属性(property)的使用,它提供了一种访问和...
5. 函数:JavaScript中的函数是第一类对象,可以作为变量赋值、作为参数传递、作为返回值返回。函数定义有函数表达式(如匿名函数和箭头函数)和函数声明两种形式。 6. 对象:JavaScript对象是一种键值对的集合,...
- `object`: 用于声明单例对象或匿名对象。 - `package`: 定义包名,组织代码结构。 - `return`: 用于函数中返回值。 - `this` 和 `super`: `this` 指代当前对象,`super` 用于访问父类的成员。 4. **类型扩展*...