美文网首页
JavaScript 传递参数

JavaScript 传递参数

作者: 浅唱南山忆 | 来源:发表于2017-03-30 21:51 被阅读0次

ECMAScript 中所有函数的参数都是按值传递的,言下之意就是说,参数不会按引用传

递,虽然变量有基本类型和引用类型之分。

function box(num) { //按值传递,传递的参数是基本类型

num += 10; //这里的num 是局部变量,全局无效

return num;

}

var num = 50;

var result = box(num);

alert(result); //60

alert(num); //50

PS:以上的代码中,传递的参数是一个基本类型的值。而函数里的num 是一个局部变

量,和外面的num 没有任何联系。

下面给出一个参数作为引用类型的例子。

function box(obj) { //按值传递,传递的参数是引用类型

obj.name = 'Lee';

}

var p = new Object();

box(p);

alert(p.name);

PS:如果存在按引用传递的话,那么函数里的那个变量将会是全局变量,在外部也可

以访问。比如PHP 中,必须在参数前面加上&符号表示按引用传递。而ECMAScript 没有这

些,只能是局部变量。可以在PHP 中了解一下。

PS:所以按引用传递和传递引用类型是两个不同的概念。

function box(obj) {

obj.name = 'Lee';

var obj = new Object(); //函数内部又创建了一个对象

obj.name = 'Mr.'; //并没有替换掉原来的obj

}

最后得出结论,ECMAScript 函数的参数都将是局部变量,也就是说,没有按引用传递。

相关文章

  • 值传递or引用传递

    javascript都是按值传递 javascript的函数的参数传递,传递的都是值,参数是 Object 类型的...

  • 数据结构与算法 javascript

    基础概念 javascript中,函数的参数传递方式都是按值传递,没有按引用传递的参数。但是javascript中...

  • JavaScript 传递参数

    ECMAScript 中所有函数的参数都是按值传递的,言下之意就是说,参数不会按引用传 递,虽然变量有基本类型和引...

  • JavaScript参数传递

    《javascript高级程序设计》4.1.3:所有函数的参数都是按值传递的就是说把函数外部的值赋值给函数内部的参...

  • 2019-06-26

    深入理解JavaScript 参数按值传递 定义:ECMAScript中所有函数的参数都是按值传递的。 值传递:函...

  • JavaScript函数的参数传递

    JavaScript函数的参数传递取决于参数的类型: 若参数为基本类型,那么按值传递 若参数为引用类型,那么按共享...

  • [JS开发者应懂的33个概念]3. 值类型和引用类型

    JavaScript 之 函数参数的传递 按值传递 继上篇说的,JavaScript的基本数据类型有7种:null...

  • javascript参数传递方式

    定义 ECMAScript中所有函数的参数都是按值传递的。也就是说,把函数外部的值复制给函数内部的参数,就和把值从...

  • JavaScript的参数传递

    一、前言 ECMA中所有函数的参数都是按照值传递。 二、基本数据类型 在向函数传递基本数据类型的时候,被传递的值会...

  • 表达式和控制体

    原文链接date:20170707 输入参数和输出参数 在javascript中,函数可以传递参数作为输入;Sol...

网友评论

      本文标题:JavaScript 传递参数

      本文链接:https://www.haomeiwen.com/subject/qzapottx.html