javascript函数调用与参数传递

javascript函数调用与参数传递
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中,可以引用对象的值。

因此,我们修改函数中对象的属性以修改其初始值。

修改对象属性可以作用于函数的外部函数(全局变量)。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部