1、再践javascript对象原型属性构造函数扩展j精再践javascript对象、原型、属性、构造函数、扩展、jsonjavascript中的对象有三种 11、内部对象 12、基于类的对象 13、基于原型的对象 1javascript内置对象上添加其它属性或者方法 1C#定义:构造函数 2javascript定义:构造函数 2函数定义 2Function(构造函数 3函数直接量 3Function(构造函数和函数直接量差别 4function定义构造函数 4javascript对象 5javascrip原型(prototype与属性(property 5this.特权(属性和方法)、proto
2、type.公有(属性和方法)、function.(属性和方法) 6js面向对象设计用好还是function(好(构造函数 7javascript解析JSON 7JSON建构于两种结构: 7JSON具有以下这些形式: 7JSON文件格式和JSON文件注释 7javascript和json.js一起使用的细节 7对象与json转换示例代码json.js: 8示例使用JSON.parse将字符串转为json对象 8示例使用JSON.stringify将json对象转为字符串 8javascript中的对象有三种 1、内部对象 如Array、Boolean、Data、Math、Number、Objec
3、t、RegExp、String对象等 这些对象系统给我们提供了各自的属性与方法供调用。 2、基于类的对象 用类的方式实现对象的引用,这些类需要我们自己定义 3、基于原型的对象 提供有关如何使用 javascript 基于原型的对象模型的指南,并且提供指向特定信息的链接,这些信息描述基于原型的对象的自定义构造函数和继承。/*javascript内置对象上添加其它属性或者方法*/String.prototype.good=function(/自定义方法 return 追加good方法; String.prototype.bad=追加bad属性;/自定义属性 var str=;/定义一个字符串实例s
4、tr,调用String对象追加的属性和方法 document.write(str.good(;document.write(str.bad;自定义对象语法规则1、对象创建方式1)、对象初始化器方式格式:objectName = property1:value1, property2:value2, propertyN:valueN property是对象的属性value则是对象的值,值可以是字符串、数字或对象三者之一示例代码: var user=name:Sn,age:25;2)、构造函数方式编写一个构造函数,并通过new方式来创建对象,构造函数本可以带有构造参数示例代码:function f
5、(name,age this.name=name;this.age=age;var use=new f(;C#定义:构造函数1、构造函数的命名必须和类名完全相同;2、构造函数的功能主要用于在类的对象创建时定义初始化的状态,它没有返回值,也不能用void来修饰;3、构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用;4、当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略;5、当一个类只定义了私有(private)的构造函数,将无法通过new关键字来创建其对象(不可访问,因为它受保护级别限制);当一个类没有
6、定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数;除非类是static类;javascript定义:构造函数javascript中的构造函数是允许有返回值的,但通常不设置返回值如果一个构造函数有一个返回值,则返回的对象成为new表达式的值。在此情况下,作为this的对象将会被抛弃。构造函数作用:使自己的对象多次复制,同时实例根据设置的访问等级可以访问其内部的属性和方法当对象被实例化后,构造函数会立即执行它所包含的任何代码/*函数定义函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。 函数的构造语法有这三种: 1.functi
7、on functionName(arg0, arg1, . argN statements /function语句 2.var function_name = new Function(arg1, arg2, ., argN, function_body;/Function(构造函数 3.var func = function(arg0, arg1, . argN statements ; /函数直接量 示例代码:*/function fn(xreturn x*x; /1.function语句 var Fnc = new Function(x,return x*x; /2.Function(构
8、造函数 var fact = function(xreturn x*x; /3.函数直接量、匿名函数、表达式document.write(fn(10; /显示 100document.write(Fnc(10; /显示 100 document.write(fact(10;/显示 100/*注:如果函数无明确的返回值,或调用了没有参数的 return 语句,那么它真正返回的值是 undefined。*/*Function(构造函数 函数实际上是功能完整的对象 。Function类可以表示开发者定义的任何函数。用Function类直接创建函数的语法如下: var function_name =
9、new function(arg1, arg2, ., argN, function_body 在上面的形式中,每个arg都是一个参数,最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串。示例代码:*/var f = new Function(x,x*x;document.write(f(10; /显示:100document.write(f; /显示:function anonymous(x return x*x; 匿名(anonymousdocument.write(f(10; /undefineddocument.write(f; /显示:function anonymous(
10、x x*x; /*注意:尽管可以使用 Function 构造函数创建函数,但最好不要使用它,因为用它定义函数比用传统方式要慢得多。不过,所有函数都应看作 Function 类的实例 。 如果你定义的函数没有参数,那么可以只需给构造函数传递一个字符串(即函数的主体)即可。 注意:传递给构造函数Function(的参数中没有一个用于说明它要创建的函数名。用Function(构造函数创建的未命名函数有时被称为“匿名函数”。 Function(函数允许我们动态地建立和编译一个函数,它不会将我们限制在function语句预编译的函数体中。*/*函数直接量 函数直接量是一个表达式,它可以定义匿名函数。函数
11、直接量的语法和function语句非常相似,只不过它被用作表达式,而不是用作语句,而且也无需指定函数名。语法: var func = function(arg0, arg1, . argN statements ;/函数直接量 虽然函数直接量创建的是未命名函数,但是它的语法也规定它可以指定函数名,这在编写调用自身的递归函数时非常有用。示例代码:*/var f = function fact(x if (x = 1 return 1; else return x * fact(x - 1; ; document.write(f(10;/显示:随机数,因为返回值小于0/*注:它并没有真正创建一个名
12、为fact(函数,只是允许函数体用这个名字来引用自身。函数名并没有什么实质意义,它不过是用来保存函数的变量名字,这个变量只是保存的位置可能不一样而已,可以将这个函数赋给其他变量,它仍然会以相同方式起作用。*/*Function(构造函数和函数直接量差别 Function(构造函数和函数直接量之间的差别有一点就是:使用构造函数Function(创建的函数不使用词法作用域,相反的,它们总是被顶级函数来编译,如:示例代码:*/var y = global; function constructFunction( var y = local; return new Function(return y;
13、/Function(构造函数,不使用局部作用域 function constFunction( var y = local; var f = function ( /函数直接量,使用局部作用域 return y; ; return f; document.write(constructFunction(; /显示 global,因为Function(构造函数返回的函数并不使用局部作用域 document.write(constFunction(; /显示 lobal,因为函数直接量返回的函数并使用局部作用域 /*注:它并没有真正创建一个名为fact(函数,只是允许函数体用这个名字来引用自身。函
14、数名并没有什么实质意义,它不过是用来保存函数的变量名字,这个变量只是保存的位置可能不一样而已,可以将这个函数赋给其他变量,它仍然会以相同方式起作用。*/*javascript中的构造函数是允许有返回值的,但通常不设置返回值如果一个构造函数有一个返回值,则返回的对象成为new表达式的值。在此情况下,作为this的对象将会被抛弃。*/function定义构造函数function f(x this.x = x; document.write(f(10;/显示:10var o=new f(10;document.write(o.x;/显示:10/*javascript对象/定义对象语法 var object=; /对象内的属性语法(属性名(property与属性值(value是成对出现的 object.property=value; /对象内的函数语法(函数名(func与函数内容是成对出现的 object.func=function(.; 示例代码:*/var object=; object.property=value;object.func=function(return fn;document.write(object.property; /显示:valuedocument.write(object.constructor; /显示:function Object( nat
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1