Javascript
函数调用
调用Javascript函数有4种方式。
每种
方法的不同方式在于初始化。
这个关键字
一般来说,在Javascript中,当函数
执行时指向当前对象。
注意,这是一个保留关键字,您不能
修改此值。
调用javascript函数
函数调用后执行函数中的代码。
作为函数调用
例子
函数MyFunction(A,B){
返回一个B;
}
MyFunction(10, 2); / / MyFunction(10, 2)返回20
上面的函数不属于任何对象,但在Javascript中它始终是
默认的全局对象。
HTML中的默认全局对象是HTML页面本身,因此该函数属于HTML页面。
浏览器中的页面对象是浏览器窗口(窗口对象),上面的函数将自动成为窗口对象的函数。
myfunction()是window.myfunction相同():
例子
函数MyFunction(A,B){
返回一个B;
}
window.myfunction(10, 2); / / window.myfunction(10, 2)返回20
注意,这是调用Javascript函数的常见方法,但不是一个好的编程习惯。
全局变量、方法或函数很容易引起命名冲突。
全局对象
当函数不被它自己的对象调用时,这个值就会变成全局对象。
在Web浏览器中,全局对象是一个浏览器窗口(窗口对象)。
返回到此实例的值是窗口对象:
例子
函数myFunction(){
返回此;
}
(myFunction); / /返回窗口对象
注意函数作为全局对象调用,使这个值成为全局对象。
使用窗口对象作为变量会使
程序容易崩溃。
作为方法调用的函数
在Javascript中,可以将函数定义为对象方法。
以下示例
创建一个对象(MyObject)两个
属性(FirstName和LastName),和一个方法(全名):
例子
VaR MyObject = { {
名:约翰
姓:做
姓名:函数(){
返回this.firstname ++ this.lastname;
}
}
MyObject.fullName(某个身份不明的人); / / 回归
FullName方法是一个函数,一个函数属于一个object.myobject是函数的所有者。
这个对象,Javascript代码。在一个实施例中,该值是一个MyObject对象。
测试以下!修改这方法并返回这个值:
例子
VaR MyObject = { {
名:约翰
姓:做
姓名:函数(){
返回此;
}
}
(MyObject。全名); / /返回{对象}(对象的所有者)
注释函数被称为对象方法,它使这个对象的值本身。
使用构造函数调用函数
如果在函数调用之前使用新关键字,则调用构造函数。
这看起来像是创建一个新函数,但实际上Javascript函数是一个重新创建的对象:
例子
构造函数:
函数MyFunction(arg1,arg2){
this.firstname = arg1;
this.lastname = 2;
}
创建一个新对象
var x =新MyFunction(约翰
x.firstname; / / 回归
构造函数的调用将创建一个新对象,新对象将继承构造函数的属性和方法。
注释构造函数中的这个关键字没有任何值。
函数的值是在函数调用实例化时创建的(新对象)。
调用函数作为函数方法
在Javascript中,函数是一个对象,Javascript函数有它的属性和方法。
调用()和应用()是预定义的函数方法。这两种方法可以用来调用函数,这两种方法的第一个
参数必须是对象本身。
例子
函数MyFunction(A,B){
返回一个B;
}
myfunction.call(MyObject,10, 2); / /返回20
例子
函数MyFunction(A,B){
返回一个B;
}
2 MyArray = { };
MyFunction.apply(MyObject,MyArray); / /返回20
这两种方法使用对象本身作为第一个参数,它们之间的
区别在于第二个参数:
应用程序由一个参数数组传递,也就是将多个参数组合到一个数组中,而调用被引入作为调用参数(从第二个参数开始)。
在Javascript严格
模式(严格模式)中,当调用函数时,第一个参数将成为这个参数的值,即使参数不是对象。
在Javascript非严格模式(非严格模式)中,如果第一个参数的值为null或未定义,则它将使用全局对象。
注释可以通过调用()(或)或()方法
设置这个值,并作为对现有对象的新方法调用。
Javascript函数参数
Javascript函数没有对参数(参数)的值进行任何
检查。
函数显式参数和隐参数(参数)
在前面的
教程中,我们
学习了函数的显式参数:
函数名(参数1,parameter2,参数){
要执行的代码
}
函数定义时列出了显式参数。
当函数调用被调用时,函数隐式参数(参数)被传递给函数的实际值。
参数规则
Javascript函数在参数未指定数据
类型时定义。
Javascript函数没有
检测隐藏参数(参数)。
Javascript函数没有检测隐藏参数(参数)的数量。
默认参数
如果在调用函数时缺少函数,参数将被设置为:未定义
有时这是可以接受的,但建议最好为参数设置一个默认值:
例子
函数MyFunction(x,y){
如果(y =未定义){
y=0;
}
}
或者,用更简单的方式:
例子
函数MyFunction(x,y){
Y = y | | 0;
}
注意:如果Y的定义,Y | |返回Y,因为Y是真,否则返回0,因为定义是
错误的。
如果在设置函数调用时设置太多参数,则不会引用参数,因为找不到相应的参数名称。只能使用参数对象调用它。
参数对象
Javascript函数有一个内置的对象参数对象。
参数对象包含函数调用的参数数组。
通过这种方式,您可以轻松地找到最后一个参数的值:
例子
x = findmax(1, 123, 500,115, 44, 88);
功能findmax(){
var i,max=0;
为(i = 0;i < arguments.length;i++){
如果(参数{ max max max){
max =参数{ };
}
}
返回最大值;
}
或者创建一个函数来计算所有值的和。
例子
X = SumAll(1, 123, 500,115, 44, 88);
SumAll函数(){
var I,总和= 0;
为(i = 0;i < arguments.length;i++){
总和=参数{ };
}
收起回复;
}
通过值传递值
函数中调用的参数是函数的参数。
如果函数修改了参数的值,它不会修改参数的初始值(定义在函数之外)。
函数参数的变化不
影响函数(局部变量)的外部变量。
通过对象传递参数
在Javascript中,可以引用对象的值。
因此,我们修改函数中对象的属性以修改其初始值。
修改对象属性可以
作用于函数的外部函数(全局变量)。