代码如下: 测试 function Man(name, age) { //定义实例属性 this.name = name; this.age = age; } //定义静态属性。默认性别是男,不排除变性,^v^ Man.sex = '男'; //定义原型属性 Man.prototype.phone = '123456'; //除了name.sex和Man.prototype.phone其余全部是Undefined alert(Man.sex + "-----" + Man.prototype.phone + "--" + Man.name + "--" + Man.age + "--" + Man.phone); var man = new Man("Tom", 24); alert(Ma...
1.Object类
在JS中,Object是所有类的基类,使用Object类来创建自定义对象时,可以无需定义构造函数(constructor,prototype,hasOwnProperty(property))var per = new Object();
per.name = 'zhangsan';
per.age = ;
alert(per.name + per.age);我们想在程序中得到一个对象变量,只要能存储大量数据即可,这个时候,我们可以考虑使用Object类。Object类避免了对构造器的定义。 Object类下另一个常用的属性:hasOwnPropertyvar p...
模拟块级作用域 大家都知道在JavaScript中没有块级作用域的概念,我们可以通过使用闭包来模拟实现块级作用域,看下面的示例: 代码如下: (function () { for (var i = 0; i < 10; i++) { //Do Nothing } alert(i); //输出10 })(); 第6行可以访问到for循环块中的变量i,如果我们稍微修改以上代码,把for循环块放置在闭包中,情况就不一样了: 代码如下: (function () { (function () { for (var i = 0; i < 10; i++) { //Do Noth...
本文实例讲述了js面向对象之静态方法和静态属性。分享给大家供大家参考。具体分析如下:
先看如下代码:代码如下:
function Bird(){this.wing = 2;this.fly = function(){alert("我是鸟,我会飞");}
}
var maque = new Bird();//创建maque对象后,我们可以使用Bird的方法和属性思考:我们可不可以,在不创建maque对象的情况下,使用Bird的方法和属性?
知识点补充:
(1)函数是什么:函数是变量,函数也是对象。函数的本质事实上是...
现下,javascript大行其道,对于网站开发人员来说,javascript是必需掌据的一门语言,但随着jquery等框架的流行和使用,许多人对于原生javascript缺乏深入的理解,习惯了函数式的编辑风格,对于闭包、原型总是说不清道不明.对于js面向对象蹩脚的用着,而要了解js面向对象,就必需先了解js中什么是公有方法、特权方法、静态方法
方法/步骤1.公有属性和公有方法function User(name,age){this.name = name;//公有属性this.age = age;...
文章给各位介绍Javascript的静态方法和原型方法一个例子,如果大家对于Javascript的静态方法和原型方法不了解可以和小编一起来看看。 一段代码,了解静态方法和实例方法:
//对象构造函数function Atest(name){//私有属性,只能在对象构造函数内部使用var className = "Atest";//公有属性,在对象实例化后调用this.name = name;//对象方法this.hello = function(){alert(this.name);alert(this.msg());//使用原型方法扩充的方法可以...
1.Object类
在JS中,Object是所有类的基类,使用Object类来创建自定义对象时,可以无需定义构造函数(constructor,prototype,hasOwnProperty(property))
var per = new Object();
per.name = zhangsan;
per.age = ;
alert(per.name + per.age);我们想在程序中得到一个对象变量,只要能存储大量数据即可,这个时候,我们可以考虑使用Object类。Object类避免了对构造器的定义。 Object类下另一个常用的属性:hasOwnProperty
var p...
文章给各位介绍Javascript的静态方法和原型方法一个例子,如果大家对于Javascript的静态方法和原型方法不了解可以和小编一起来看看。 一段代码,了解静态方法和实例方法:
<script>//对象构造函数function Atest(name){//私有属性,只能在对象构造函数内部使用var className = "Atest";//公有属性,在对象实例化后调用this.name = name;//对象方法this.hello = function(){alert(this.name);alert(this.msg());//使用原型方法扩充的...
现下,javascript大行其道,对于网站开发人员来说,javascript是必需掌据的一门语言,但随着jquery等框架的流行和使用,许多人对于原生javascript缺乏深入的理解,习惯了函数式的编辑风格,对于闭包、原型总是说不清道不明.对于js面向对象蹩脚的用着,而要了解js面向对象,就必需先了解js中什么是公有方法、特权方法、静态方法
方法/步骤1.公有属性和公有方法
function User(name,age){this.name = name;//公有属性this.age = age...
本文实例讲述了js面向对象之静态方法和静态属性。分享给大家供大家参考。具体分析如下:
先看如下代码:代码如下:<script type="text/javascript">
function Bird(){
this.wing = 2;
this.fly = function(){
alert("我是鸟,我会飞");
}
}
var maque = new Bird();//创建maque对象后,我们可以使用Bird的方法和属性
</script>
思考:我们可不可以,在不创建maque对象的情况下,使用Bird的方法和属性?
知识点补充:
(1)函数...
模拟块级作用域 大家都知道在JavaScript中没有块级作用域的概念,我们可以通过使用闭包来模拟实现块级作用域,看下面的示例: 代码如下:(function () { for (var i = 0; i < 10; i++) { //Do Nothing } alert(i); //输出10 })(); 第6行可以访问到for循环块中的变量i,如果我们稍微修改以上代码,把for循环块放置在闭包中,情况就不一样了: 代码如下:(function () { (function () { for (var i = 0; i < 10; i++) { //Do Nothin...
代码如下:<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>测试</title> </head> <body> <script type="text/javascript"><!-- function Man(name, age) { //定义实例属性 this.name = name; this.age = age; } //定义静态属性。默认性别是男,不排除变性,^v^ Man.sex = '男'; //定义原型属性 Man.prototype.phone = '123456'; //除了name.sex和Man.prototype.phone其余全部是Undefin...
Class关键字
class关键字是ES6的新特性
例如
若创建一个动物类
则需要:
class Animal{
}(有Java的感觉了…)
构造器
用constructor创建构造器 其意义和Java的构造函数相同(如果你会Java的话…)
每个类中都有一个构造器 若没有手动指定 那么默认每个类中有个看不见的空构造器
构造器的作用是每当new这个类的时候首先执行构造器中的代码 常用于初始化赋值
class Animal{// 类中的构造器constructor (name,age){this.name=name;this.a...
1、什么叫做静态方法?1.1、类相当于实例的原型, 所有在类中定义的方法, 都会被实例继承。如果在一个方法前,加上Static关键字,就表示该方法不会被继承,而是直接通过类来调用,这被称为 “静态方法”。1.2、我们可以从代码上进行更深的理解。
下面的代码中,Sea类的classMethod方法前有static关键字,表明该方法是一个静态方法,可以直接在Sea类上调用(Sea.classMethod()),而不是在Sea类的实例上调用静态方法...
有时(尽管很少)你需要扩展,而不是覆盖父静态属性,例如下面的(非常蹩脚)示例:class Person {static coreStats = {role: "slacker",weapon: null,speed: 4,vechicle: "roller blades",};
}class Ninja extends Person {static coreStats = {role: "silent assassin",weapon: "katana",speed: 99,};
}console.log(Ninja.coreStats); // But vechicle is no more如何在不破坏父属性的情况下扩展子类中的静态属性?解决方法:你可以这样...