JavaScript--函数-按值传递

按值传递(byValue): 两个变量间赋值或将变量作为参数传入函数时,其实都是将原变量中的值,赋值一份给对方(新变量)
对原始类型的值: 修改新变量,不会影响原变量
对引用类型的对象: 通过新变量修改对象,等效于直接修改原对象。

第一个例子:对原始类型的值

1     var a=10;
2     var b=a;//取出a中的值,复制一份给b
3     a++;
4     console.log(a);//11
5     console.log(b);//10

第二个例子:对引用类型的对象

1、函数

1     var card=10;
2     function buy(card){
3       card-=3;
4       console.log(card);
5     }
6     buy(card);//7
7     console.log(card);//10

2、数组

 1     var my=["包","包","包","包","包"];
 2          //  0    1    2    3    4
 3     var lp=my;
 4     lp[0]="";
 5     console.log(String(my));//4
 6     my[4]="";
 7     console.log(String(lp));//3
 8
 9     var arr=[1,2,3,4,5];
10            //0 1 2 3 4
11     function fun(arr){
12       arr[5]=6;
13       arr=[1,2,3];
14       arr[6]=12;
15       console.log(String(arr));
16     }
17     fun(arr);//123,,,12
18     console.log(String(arr));//123456
时间: 2024-10-05 04:27:32

JavaScript--函数-按值传递的相关文章

JavaScript 函数基础

1. JavaScript 函数基础 1. 定义方法 2. 函数的调用方法 3. 函数方法 apply : 将函数作为数组的方法来调用 将参数以数组形式传递给该方法 call   : 将函数作为对象的方法来调用 将制定参数传递给该方法 toString : 返回函数的字符串表示 4. arguments对象 arguments对象 功能: 存放实参的参数列表 特性:仅能在函数体内使用  带有下标属性 但并非数组  函数声明时自动初始化 属性: A) length 获取函数实参的长度 B) cal

JavaScript函数和对象提高!!!!!!

JavaScript函数和对象提高!!!!!! 主要内容介绍 函数 函数的概念 函数的参数 函数的返回值 函数的作用域 变量提升和函数提升 函数参数传递方式 对象 什么是JavaScript对象 创建对象的两种方式 对象属性的基本操作 创建自定义对象 函数的4种调用方式(简单介绍) 一.函数 函数小测验 函数复习测试题 1.1 函数基本概念 1.1.1 什么是函数 函数是定义一次但可以调用或执行任意多次的一段JavaScript代码. 函数也叫做方法(了解概念) 当一个函数在一个对象上被调用的时

JavaScript之基础-5 JavaScript 函数

一.JavaScript 函数定义 函数(方法,过程) - 函数(Function),有时也被称为方法(Method),或者过程(Procedure) - 是一段预定义好,并可以被反复使用的代码块,其中可以包含多条可执行语句 - 函数本质上是功能完整的对象 定义函数(方法,过程)的功能 - 使用关键字 function 定义一个函数 - 函数名的定义规则与标识符一直,大小写敏感 - 最简单的函数定义 定义参数和返回值 - 稍微复杂些的函数可能需要声明执行参数 - 或者使用 return 关键字声

Javascript函数小结(二)

构造函数通常不使用return关键字,它们初始化新对象,当构造函数的函数体执行完毕时,它会显示返回.在这种情况下,构造函数调用表达式的计算结果就是这个新对象的值.然而如果构造函数显示地使用return语句返回一个对象,或者返回一个原始值,那么这是将忽略返回值,同时使用这个新对象作为调用结果. callee和caller:实参对象(arguments)的两个属性,在ECMAScript5严格模式中,对这两个属性的读写操作都会产生一个类型错误.前者指代当前正在执行的函数.caller是非标准的,但大

理解JavaScript函数参数

前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数. arguments javascript中的函数定义并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型检查.实际上,javascript函数调用甚至不检查传入形参的个数 ? 1 2 3 4 5 6 7 function add(x){ return x+1; } console.log(add(1));//2 console

JavaScript是按值传递还是按引用传递?

JavaScript是按值传递的,但是要分情况才知道传递之后原来的值会不会变,不然会出现你想都想不出来的bug 一.按值传递--元类型输入tip:元类型( number, string, boolean, null, undefined ) 传入的参数,无论函数内部怎样对其操作,调用传入的变量都不会受影响.例如: var arr = [1, 2, 3, 4] var str = '1234' function guangboticao7 (input) { input = input + '56

ABP展现层——Javascript函数库

ABP展现层——Javascript函数库 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate ASP.NET Boil

C#实现百度地图附近搜索&调用JavaScript函数

前一篇文章"C#调用百度地图API入门&解决BMap未定义问题"讲述了如何通过C#调用百度API显示地图,并且如何解决BMap未定义的问题.这篇文章主要更加详细的介绍百度地图的一些功能,包括附近搜索.城市搜索.路线规划.添加覆盖物等等. 希望文章对你有所帮助!如果文章中有不足之处,还请海涵~ 百度官方文档:http://developer.baidu.com/map/jsmobile.htm 官方DEMO例:http://developer.baidu.com/map/jsde

JavaScript函数,作用域以及闭包

JavaScript函数,作用域以及闭包 1. 函数 (1). 函数定义:函数使用function关键字定义,它可以用在函数定义表达式或者函数声明定义. a. 函数的两种定义方式: * function functionName() {} * var functionName = function(){} b. 两种函数定义不同之处 1). 声明提前问题 函数声明语句   :声明与函数体一起提前 函数定义表达式 :声明提前,但是函数体不会提前 请看下面图示:绿色线上面实在js初始加载的时候,查看

HTML 学习笔记 JavaScript (函数)

函数是由事件驱动的或者当他被调用时执行的可重复使用的代码块 实例 <!DOCTYPE html> <html> <head> <script> function myFunction() { alert("Hello World!"); } </script> </head> <body> <button onclick="myFunction()">点击这里</b