js对象中自身声明的方法和属性与prototype声明的对象有什么差别

JavaScript014

js对象中自身声明的方法和属性与prototype声明的对象有什么差别,第1张

prototype这个属性只有函数对象才有,具体的说就是构造函数具有.只要你声明定义了一个函数对象,这个prototype就会存在

对象实例是没有这个属性,__proto__是JS实现的自有属性,赋予对象实例的,通过__proto__这个属性指向这个对象实例的原型对象,这要通过new操作符构建的对象都有这个属性__proto__

prototype属性指向一个对象

当对一个对象的某个属性执行赋值操作的时候,如果这个属性在当前对象上不存在的话,但在原型对象上存在且是只读的,那么这个赋值操作无效;

js声明变量使用var声明与不使用var声明比较

Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。

JS中变量申明分显式申明和隐式申明。

var i=100  //显示申明

i=100      //隐式申明

在函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。

当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意。

望采纳 Thx

利用this来实现,代码如下

var obj ={

    say:function(){

        alert("我的年龄")

        this.age()

    },

    age:function(){

        alert(28)

    } 

}

obj.say()