javaScript 函数创建的三种方式
方式一:函数声明,又叫函数定义
function 函数名( 参数列表 ) {函数体}
// 最基本的函数声明
function voidFun(){
alert("我是方式一定义的无参函数");
}
// 函数调用(调用时的调用代码写在函数体前后都可以)
voidFun();
方式二:函数表达式,又叫函数字面量
var 函数名 = function(参数列表) { 函数体 }
var 函数名 = function xxx(参数列表) { 函数体 }
// 创建的是匿名函数
var funname = function(a, b){
alert(a); // abc
alert(b); // true
}
// 函数调用(调用时的调用代码需要写在函数体后面)
funname("abc", true);
// 创建的是具名函数
bar() // 不能用函数名来调用,会报错 ReferenceError: bar is not defined
var funname = function bar(a, b){
alert(a); // abc
alert(b); // true
}
// 函数调用(调用时的调用代码需要写在函数体后面)
funname("abc", true);
方式三:函数构造法,参数必须加引号
var 函数名 = new Function("参数1", "参数2", "参数3", "函数体(return 返回值)");
// 不推荐使用此方法
var sum = new Function("num1, num2", "return 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(){} // 给对象添加方法
// }
// js对象的属性访问:对象名.属性名
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 对象名() // 创建一个对象的实例
// js对象的属性访问:变量名.属性名
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