在javascript中,函数(Function)是一段被封装好的代码,可以被反复使用(调用);函数可以是一个值、一个对象、一类数据,还可以是一个表达式,因此函数可以赋值、可以运算、可以拥有属性和方法,甚至可以临时存储值、构造实例等。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
在 JavaScript 中,对象是一个泛化的概念,任何值都可以转换为对象,以对象的方式进行使用,如数字对象、布尔值对象、字符串对象、类型对象、函数对象、数组对象等,它们都继承 Object 类型对象,拥有共同的基本属性和方法。此外,JavaScript 也允许自定义对象。
从狭义的概念来分析,对象(Object)是最基本的数据类型,是复合型的结构、引用型的数据,它是无序数据集合,对象中每个成员被称为属性。
JavaScript 是基于对象,但不完全面向对象的编程语言。在 JS 面向对象的编程模式中,有两个核心概念: 对象和类。在 ECMAScript6 规范之前,JavaScript 没有类的概念,仅允许通过构造函数来模拟类,通过原型实现继承。
JS创建对象
构造对象
使用 new 运算符调用构造函数,可以构造一个实例对象。具体用法如下:
var objectName = new functionName(args);
参数说明如下:
objectName:返回的实例对象。
functionName:构造函数,与普通函数基本相同,但是不需要 return 返回值,返回实例对象,在函数内可以使用 this 预先访问。
args:实例对象初始化配置参数列表。
示例
下面示例使用不同类型的构造函数定义各种实例。
var o = new Object(); //定义一个空对象 var a = new Array(); //定义一个空数组 var f = new Function(); //定义一个空函数
对象直接量
使用直接量可以快速创建对象,也是最高效、最简便的方法。具体用法如下:
var objectName = { 属性名1 : 属性值1, 属性名2 : 属性值2, ... 属性名n : 属性值n };
在对象直接量中,属性名与属性值之间通过冒号进行分隔,属性值可以是任意类型的数据,属性名可以是 JavaScript 标识符,或者是字符串型表达式。属性于属性之间通过逗号进行分隔,最后一个属性末尾不需要逗号。
示例
下面代码使用对象直接量定义两个对象。
var o = { //对象直接量 a : 1, //定义属性 b : true //定义属性 } var o1 = { //对象直接量 "a" : 1, //定义属性 "b" : true //定义属性 }
JavaScript 构造函数
JavaScript 构造函数(Constructor)也称为构造器、类型函数,功能类似对象模板,一个构造函数可以生成任意多个实例,实例对象具有相同的属性、行为特征,但不相等。
定义构造函数
在语法和用法上,构造函数与普通函数没有任何区别。定义构造函数的方法如下:
function 类型名称 (配置参数) { this.属性1 = 属性值1; this.属性2 = 属性值2; ... this.方法1 = function () { //处理代码 }; ... //其他代码,可以包含return语句 }
建议构造函数的名称首字母大写,以便与普通函数进行区分。
构造函数有两个显著特点。
函数体内使用 this,引用将要生成的实例对象。
必需使用 new 命令调用函数,生成实例对象。
示例
下面示例演示定义一个构造函数,包含了两个属性和一个方法。
function Point (x, y) { //构造函数 this.x = x; //私有属性 this.y = y; //私有属性 this.sum = function () { //方法 return this.x + this.y; } } 在上面代
码中,Point 就是构造函数,它提供模板,用来生成实例对象。
【推荐学习:javascript高级教程】
以上是javascript中什么是函数的详细内容。更多信息请关注PHP中文网其他相关文章!