js精要之函数

时间:2023-01-27 07:27:50

数组排序

  var arr = [,,,,,];
arr.sort(function(a,b){
return a-b;
});
console.log(arr);

arguments 参数存储对象

  function ref(value){
return value;
}
console.log(ref("hi!"));
console.log(ref("hi!",));
console.log(ref.length);
ref = function(){
return arguments[];
}
console.log(ref("hi!"));
console.log(ref("hi!",));
console.log(ref.length);

函数sum计算数据和

  function sum(){
var result = ;
for(var i=;i<arguments.length;i++){
result+= arguments[i];
}
return result;
}
console.log("sum() - "+sum());

// 类重载

 function showa(){
if(arguments.length === ){
console.log("没有参数");
}else if(arguments.length === ){
console.log("一个参数:"+arguments[]);
}
}
showa();

字面形式对象调用公共方法

function sayNameForAll(){
console.log(this.name)
}
var person1 = {
name:"zs1",
sayName:sayNameForAll
}
var person2 = {
name:"ls2",
sayName:sayNameForAll
}
var name = "ww3";
person1.sayName();
person2.sayName();
sayNameForAll()

// call();参数1指定this的值,参数2 传给函数的参数

function sayNameForAlla(label){
console.log(label+":"+this.name)
}
var person1a = {
name:"zs1" }
var person2a = {
name:"ls2" }
var name = "ccc"
sayNameForAlla.call(this,"name")
sayNameForAlla.call(person1a,"person1a")

// apply()

sayNameForAlla.apply(this,["namea"])
sayNameForAlla.call(person1a,["person1a"])

// 判断对象中是否含有属性 in (包括原型属性)

  console.log("name" in person2a);    //true
console.log("toString" in person2a); //true

// 判断对象中是否含有属性 hasOwnProperty() (不包括 原型属性) toString()是所有对象都具有的原型属性

  console.log(person2a.hasOwnProperty("name"));
console.log(person2a.hasOwnProperty("toString"));
// false

// delete 删除属性

    delete person1a.name;
console.log("name" in person1a);