什么是JS的原型属性,什么是自身属性????

JavaScript017

什么是JS的原型属性,什么是自身属性????,第1张

简单点说原型属性就是别人的属性,而通过原型创建的实例可以创建属于自己的属性,因为原型链的关系实例不仅可以访问自身属性,也能访问原型属性,而原型只能访问到原型属性,看代码吧

         

function Person() {

}                                    //声明Person对象

Person.prototype.name = 'xiaoMing'  //在Person原型上添加name属性,属性值为'xiaoMing'

var person1 = new Person()          //创建实例person1

person1.age = 18                    //在person1上添加属性age,也就是你说的自身属性

person1.name = 'John'               //在person1上添加属性name,这个也算,在实例上添加与原型同名的属性则会覆盖掉原型上的同名属性

// 最简单的使用hasOwnProperty()方法判断属性是一个实例属性(自身属性)还是原型属性

alert(person1.hasOwnProperty('age'))//true

alert(Person.hasOwnProperty('age')) //false

// 使用delete操作符可以完全删除自身属性

alert(person1.name)                //John

delete person1.name

alert(person1.name)                //xiaoMing

唯一可能的方法是从html里的<script>里找。js本身无法获取自己路径。

var scripts = document.getElementsByTagName('script')

// 获取现在已经加载的所有script

var lastScript = scripts[scripts.length-1]

// 获取最近一个加载的script,即这个js本身

var scriptName = lastScript.src

// 获取此js的路径

之后对路径做处理切割出来文件名就容易了。

这段代码一般是没问题的。

function Calc(val){

function multi(a,b){

return a*b

}

function fun(v){

if(v<=1){

return 1

}

//调用自身,递归

return multi(v,fun(v-1))

}

return fun(val)

}

console.log("3的阶乘是:"+Calc(3))