版权声明:分享才能获得最大的价值 https://blog.csdn.net/qq_32252957/article/details/87520607
javaScript 函数创建的三种方式
方式一:函数定义
function 函数名( 参数列表 ) {函数体}
//最基本的函数声明
function voidFun(){
alert("我是方式一定义的无参函数");
}
// 函数调用(调用时的调用代码写在函数体前后都可以)
voidFun();
方式二:函数表达式,又叫函数字面量
var 函数名 = function(参数列表) { 函数体 }
var funname = function(a,b){
alert(a); // abc
alert(b); // true
}
// 函数调用(调用时的调用代码需要写在函数体后面)
funname("abc",true);
方式三:函数构造法,参数必须加引号
var 函数名 = new Function(“参数列表”,”函数体”);
//不推荐使用此方法
var sum = new Function("num1,num2","return num1+num2");
// 函数调用 参数是num1, num2,函数体中是返回num1+num2
var result1 = sum(120,130,66);
alert(result1);
javaScript 创建对象的三种方式
方式一
//Object形式的自定义对象
//var 对象名 = new Object(); //new一个空的对象
//对象名.属性名 = 值; // 给对象实例添加一个属性
//对象名.函数名 = function(){} //给对象实例添加一个方法
//js对象的属性访问:
//对象.属性名
var Student = new Object();
Student.name = "asdf";
Student.age = 23;
Student.obj = {
name: "",
year: 1988
};
Student.toString = function(){
alert("方式一 hello my name is toString()");
};
Student.name;
Student.age;
Student.toString();
方式二:对象字面量表示法
{}花括号形式的自定义对象
花括号中,多组属性,我们必须使用,逗号进行分隔。
//var 对象名 = {
//属性名: 值, // 给对象添加属性
//属性名(函数名): function(){} // 给对象添加方法
//}
var Student2 = {
name: "asdf",
age: 29,
obj: {
name: "",
year: 1988
},
toString:function(){
alert("方式二 my name is Student2 toString()");
}
};
alert(Student2.name);
方式三:构造函数法
//function形式的自定义对象(在js中函数即是对象)
//function 对象名(){
//this.属性名 = 值; // 给对象添加属性
//this.函数名 = function(){} //给对象添加方法
//}
//var 变量名 = new 对象名() // 创建一个对象的实例
//变量名.属性名
function Student3(){
this.name = "gadgf";
this.age = 30;
this.obj = {
name: "",
year: 1988
};
this.toString = function(){
alert("方式三 我是Strudent3的toString()")
}
}
var stu = new Student3();
alert(stu);
stu.toString();
注:
对象属性和对象方法
在javascript中,可以使用“.”和[]访问对象属性
例如:object.propertyName;
object.[propertyName];
在javascript中,只能用“.”访问对象方法
例如:object.mathodName();
在js中几乎一切皆对象
函数的属性和方法
属性:length和prototype
方法:apply()和call()
函数内部特殊对象:arguments、this