成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

javascript傳遞參數(shù)

kohoh_ / 2340人閱讀

摘要:傳遞參數(shù)首先要知道的是在中基本數(shù)據(jù)類型是按值傳遞的,引用類型的值是保存在內(nèi)存中的變量,不允許直接操作對(duì)象的內(nèi)存空間。二者之間是獨(dú)立的,不相互影響。

JavaScript傳遞參數(shù) 首先要知道的是

1.在js中基本數(shù)據(jù)類型是按值傳遞的,引用類型的值是保存在內(nèi)存中的變量,js不允許直接操作對(duì)象的內(nèi)存空間。

2.在復(fù)制變量值中我們可以看到二者的不同。
當(dāng)復(fù)制一個(gè)基本類型時(shí),會(huì)創(chuàng)建一個(gè)當(dāng)前對(duì)象的副本,它擁有為它新分配的空間。二者之間是獨(dú)立的,不相互影響。
當(dāng)復(fù)制一個(gè)引用類型時(shí),我們也是創(chuàng)建看這個(gè)值的一個(gè)副本,不同的是這個(gè)值是一個(gè)指針,指向存儲(chǔ)在堆中的對(duì)象。這兩個(gè)值指向的是同一個(gè)對(duì)象,因此它們會(huì)相互影響。

所以傳遞參數(shù)的現(xiàn)象是

1.在向參數(shù)傳遞基本類型時(shí),被傳遞的值復(fù)制給了一個(gè)局部變量(argument);在向參數(shù)傳遞引用類型的值時(shí),會(huì)把這個(gè)值在內(nèi)存中的地址復(fù)制給局部變量,因此這個(gè)局部變量的變化會(huì)反應(yīng)在函數(shù)外部

function Add(num){
   num+=10;
   return num;
}

var count=20;
var result=Add(count);
console.log(count);    //20,沒有變
console.log(result);   //30  

2.js中所有函數(shù)參數(shù)的傳遞都是按值傳遞的。值的注意的是,并不是說在局部作用域中被修改的對(duì)象會(huì)在全局中反應(yīng)出來,就說明參數(shù)是按引用傳遞的

function setName(obj){
    obj.name="ywl";
    obj=new Object();
    obj.name="zhangsan";
}
var person=new Object();
setName(person);
console.log(person.name); //ywl

輸出的值是ywl,因?yàn)樵诤瘍?nèi)部重寫obj,但是原始的引用并沒有變,變量的引用是一個(gè)局部對(duì)象,而這個(gè)局部對(duì)象在函數(shù)執(zhí)行完畢之后會(huì)被立即銷毀。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/97124.html

相關(guān)文章

  • JavaScript中的求值策略

    摘要:關(guān)于的求值策略,問中函數(shù)的參數(shù)傳遞是按值傳遞還是按引用傳遞回答很經(jīng)典。所以不能說中函數(shù)的參數(shù)傳遞嚴(yán)格按值傳遞或按引入傳遞。中還采用一種參數(shù)傳遞策略,叫按共享傳遞。中參數(shù)是必須先求值再作為實(shí)參傳入函數(shù)的。參考求值策略中函數(shù)參數(shù)的默認(rèn)值 最近在研究 lambda 演算中的 η-變換 在 JavaScript 中的應(yīng)用,偶然在 stackoverflow 上看到一個(gè)比較有意思的問題。關(guān)于 J...

    MrZONT 評(píng)論0 收藏0
  • JavaScript深入之參數(shù)按值傳遞

    摘要:深入系列第九篇,除了按值傳遞引用傳遞,還有第三種傳遞方式按共享傳遞定義在高級(jí)程序設(shè)計(jì)第三版,講到傳遞參數(shù)中所有函數(shù)的參數(shù)都是按值傳遞的。 JavaScript深入系列第九篇,除了按值傳遞、引用傳遞,還有第三種傳遞方式 —— 按共享傳遞 定義 在《JavaScript高級(jí)程序設(shè)計(jì)》第三版 4.1.3,講到傳遞參數(shù): ECMAScript中所有函數(shù)的參數(shù)都是按值傳遞的。 什么是按值傳遞呢?...

    DataPipeline 評(píng)論0 收藏0
  • JavaScript 是如何工作的:JavaScript 的共享傳遞和按值傳遞

    摘要:它對(duì)數(shù)組和對(duì)象使用按值傳遞,但這是在的共享傳參或拷貝的引用中使用的按值傳參。例如在這里,變量和值在執(zhí)行期間存儲(chǔ)在堆棧中。返回值這是可選的,函數(shù)可以返回值,也可以不返回值。變量被推入堆棧,從而在執(zhí)行時(shí)成為的副本。 這是專門探索 JavaScript 及其所構(gòu)建的組件的系列文章的第 22 篇。 想閱讀更多優(yōu)質(zhì)文章請猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! 如果你錯(cuò)過了前面的章節(jié),可...

    keithyau 評(píng)論0 收藏0
  • JavaScript 是如何工作的:JavaScript 的共享傳遞和按值傳遞

    摘要:它對(duì)數(shù)組和對(duì)象使用按值傳遞,但這是在的共享傳參或拷貝的引用中使用的按值傳參。例如在這里,變量和值在執(zhí)行期間存儲(chǔ)在堆棧中。返回值這是可選的,函數(shù)可以返回值,也可以不返回值。變量被推入堆棧,從而在執(zhí)行時(shí)成為的副本。 這是專門探索 JavaScript 及其所構(gòu)建的組件的系列文章的第 22 篇。 想閱讀更多優(yōu)質(zhì)文章請猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! 如果你錯(cuò)過了前面的章節(jié),可...

    陳偉 評(píng)論0 收藏0
  • JavaScript之按值傳遞

    摘要:中所有函數(shù)的參數(shù)都是按值傳遞的?;绢愋捅旧硎前粗祩鬟f,具有不可變性,對(duì)基本類型的修改,實(shí)質(zhì)上都是在棧內(nèi)存中創(chuàng)建了新的值。中把這種拷貝也認(rèn)為是按值傳遞。 本文共 1200 字,讀完只需 5 分鐘 概述 參數(shù)的傳遞分為按值傳遞和按引用傳遞,而 JavaScript 中參數(shù)的傳遞只有按值傳遞。 ECMAScript 中所有函數(shù)的參數(shù)都是按值傳遞的。 所謂按值傳遞就是: 把函數(shù)外部的值復(fù)制給...

    xiangchaobin 評(píng)論0 收藏0
  • 講清楚之 javascript 參數(shù)傳值

    摘要:講清楚之參數(shù)傳值參數(shù)傳值是指函數(shù)調(diào)用時(shí),給函數(shù)傳遞配置或運(yùn)行參數(shù)的行為,包括通過進(jìn)行傳值。所以對(duì)的賦值會(huì)改變上下文棧中標(biāo)識(shí)符保存的具體值此時(shí)如果使用的是按引用傳遞,則變量所指向的對(duì)象因該也被賦值為。 講清楚之 javascript 參數(shù)傳值 參數(shù)傳值是指函數(shù)調(diào)用時(shí),給函數(shù)傳遞配置或運(yùn)行參數(shù)的行為,包括通過call、apply 進(jìn)行傳值。 在實(shí)際開發(fā)中,我們總結(jié)javascript參數(shù)傳...

    itvincent 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<