作者:zccst

所有函数的参数都是按值传递的。也就是说,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。
基本类型值的传递如同基本类型变量的赋值一样。
而引用类型值的传递,则如同引用类型变量的赋值一样。

不少人困惑,因为变量有按值和按引用两种方式,而参数只能按值传递。
在向参数传递基本类型和引用类型时都会复制一份。

//传递了形参
var a = [1, 2, 3];
var b = [5, 6];
function change(a,b) {
var c = a;
a[0] = 4;
a = b;
b = c;
};
change(a,b);
console.log(a,b); //"4,2,3" //"5,6" //没有传递形参
var a = [1, 2, 3];
var b = [5, 6];
function change() {
var c = a;
a[0] = 4;
a = b;
b = c;
};
change();
console.log(a,b); //"5,6" //"4,2,3"
function test(i){
var i;
alert(i);//10,上面 var i; 属于重复定义
}
test(10);
var a = 100;
function test() {
console.log(a);//undefined
var a = 10;
console.log(this.a);//
console.log(a);//
}
test();

js局部变量,参数的更多相关文章

  1. jquery 、 JS 脚本参数的认识与使用

    jquery . JS 脚本参数的认识与使用 如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.location.reload(); //刷新当前页面. par ...

  2. (转)js函数参数设置默认值

    原文:http://www.cnblogs.com/RightDear/archive/2013/06/26/3156652.html js函数参数设置默认值   php有个很方便的用法是在定义函数时 ...

  3. js 函数参数形式

    1. var a = function(b,c){ console.log(arguments);}a("1","cc"); ->  ["1&q ...

  4. js动态参数作为Object的属性取值

    js动态参数作为Object的属性取值var myObj = {"a":1,"b":2};var a = 'a';myObj[a] 就可以获取到 属性a的值了

  5. JS 可变参数

     JS可变参数的方法不需要参数,同时,我们应该注意在写JS文件的时候避免定义arguments变量. <html> <head> <title>Javascri ...

  6. 获取js连接参数js_args

    获取js连接参数,如下以链接: <script src="js/jscript.js?skin=green" type="text/javascript" ...

  7. vs2010开发activex(MFC)控件/ie插件(二):js传参数

    原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/50802075  js传参数给activex控件. 过程为:js变量通过activex类的属 ...

  8. css和js带参数v或version

    1 <span style="font-size:14px;">css和js带参数(形如.css?v=与.js?v= 或 .css?version=与.js?versi ...

  9. 第十八篇 JS传参数

    JS传参数   参数,这是个什么东西呢?简单的说吧,我们去玩别人的网站,一般来个登录,有用户名和密码,当我们输入正确之后,那么这用户名和密码里面的值,就是参数的值,它将这个值传给“参数”,然后提交到后 ...

随机推荐

  1. Struts2 请求数据的自动封装 及 自定义转换器类

    请求数据自动封装: 实现原理:使用了参数拦截器.struts-default.xml中 <interceptor name="params" class="com. ...

  2. 4位开锁<dfs>

    题意: 有一个四位密码的锁,每一位是1~9的密码,1跟9相连.并且相邻的连个密码位可以交换.每改变一位耗时1s,给出锁的当前状态和密码,求最少解锁时间. 思路: 用bfs枚举出所有相邻交换的情况,并记 ...

  3. ubuntu 常用命令记录

    1.# 表示权限用户(如:root),$ 表示普通用户  开机提示:Login:输入用户名  password:输入口令   用户是系统注册用户成功登陆后,可以进入相应的用户环境.  退出当前shel ...

  4. 简单时钟——css3

    这里我们使用css3的特性制作一个简易的时钟,代码如下: <!DOCTYPE html><html> <head> <meta charset="U ...

  5. CentOS 下mysql 的安装

    1.安装mysql服务器 yum -y install mysql-server 2.装入service启动服务 /etc/rc.d/init.d/mysqld start 3.设置mysql服务开机 ...

  6. zendstudio的安装与配置

    <微信公众平台应用开发实战>第1章搭建开发环境和相关技术介绍,本章会先介绍微信公众平台的一些基本概念和公众平台的开发模式:然后讲解如何搭建开发环境—AppServ和zendstudio:然 ...

  7. RunTime 入门

    原文链接:http://www.jianshu.com/p/59992507f875 这是一篇浅显实用 易记 易理解的关于runtime的解读. Runtime 中的方法主要以五个单词开头——clas ...

  8. bLock 回调 就是这么简单!

    转载自:http://blog.csdn.net/mobanchengshuang/article/details/11751671 我们在开发中常常会用到函数回调,你可以用通知来替代回调,但是大多数 ...

  9. Block 使用场景

    转载自:http://blog.csdn.net/totogo2010/article/details/7839061 代码块本质上是和其他变量类似.不同的是,代码块存储的数据是一个函数体.使用代码块 ...

  10. std::string

    /************************************************************************* > File Name: string.cp ...