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))