站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

javascript中有指針嗎

javascript中沒有指針,只有引用;指針指的是內存地址,能夠操作指針表示程序可以直接操作內存,而JavaScript腳本試運行在網(wǎng)頁的,瀏覽器以及操作系統(tǒng)都不允許JavaScript可以操作內存,所以JavaScript腳本中沒有指針的概念,只能由瀏覽器分配內存。

javascript中有指針嗎

本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。

javascript中有指針嗎

JS 沒有指針(pointer),只有引用(reference)。

一個簡單的判斷依據(jù)就是:指針是可以有 ++ 操作的,但 JS 辦不到。

指針其實就是內存地址,能夠操作指針,就表示程序可以直接操作內存,這對于運行于網(wǎng)頁中的js腳本是非常危險的,瀏覽器以及操作系統(tǒng)都不可能讓這樣的事發(fā)生,所以js腳本不可能有指針的概念,只能引用由瀏覽器分配的內存,至于這個內存的物理地址究竟是什么,則至少對于js的編程者而言是不透明的。

示例如下:

let a = 888 let b = a a = 999 console.log(a, b) // 999 888 對于『基本類型』的變量,a,b 相互是不影響的

但是,對于復合類型的變量,變量其實存儲的是一個『指針』, 當 d=c 后,他們指向的是同一個內存地址,所以當 c 改變了,d 同樣也改變了:let c = ['a', 'b', 'c']

let d = c d === c // true 都指向同一個『指針』呢 c[0] = 'x' console.log(d) // ["x", "b", "c"] 而這樣let c = ['a', 'b', 'c'] let d = ['a', 'b', 'c'] // or 簡寫成 d = [...c] d === c // false 變量 d 重新賦值了呢,所以和 c 就不是一伙的啦! c[0] = 'x' console.log(d) // ["a", "b", "c"]

javascript中有指針嗎

擴展知識:

指針,是C語言中的一個重要概念及其特點,也是掌握C語言比較困難的部分。指針也就是內存地址,指針變量是用來存放內存地址的變量,在同一CPU構架下,不同類型的指針變量所占用的存儲單元長度是相同的,而存放數(shù)據(jù)的變量因數(shù)據(jù)的類型不同,所占用的存儲空間長度也不同。有了指針以后,不僅可以對數(shù)據(jù)本身,也可以對存儲數(shù)據(jù)的變量地址進行操作。

指針描述了數(shù)據(jù)在內存中的位置,標示了一個占據(jù)存儲空間的實體,在這一段空間起始位置的相對距離值。在 C/C++語言中,指針一般被認為是指針變量,指針變量的內容存儲的是其指向的對象的首地址,指向的對象可以是變量(指針變量也是變量),數(shù)組,函數(shù)等占據(jù)存儲空間的實體。

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
四虎精品在线视频| 国产精品国产精品国产专区不卡 | 国产系列高清精品第一页| 日韩精品久久久久久久电影| 日韩高清不卡在线| 国产成人精品免费视频大全麻豆 | 久久久久国产精品免费免费搜索| 国产亚洲精品看片在线观看| 精品福利视频第一| 亚洲日韩乱码中文无码蜜桃臀网站 | 99国产精品国产精品九九| 精品无码人妻一区二区三区| 无码精品人妻一区二区三区免费看| 国产精品午睡沙发系列| 97久久精品国产精品青草| 国产愉拍精品视频手机| 国产精品国产亚洲区艳妇糸列短篇 | 国产99视频精品一区| 久久精品蜜芽亚洲国产AV| 无码国产乱人伦偷精品视频| 老司机91精品网站在线观看 | 日韩亚洲综合精品国产| 精品国产自在现线看| 99精品国产在热久久婷婷| 久久久亚洲精品视频| 久久9精品久久久| 婷婷五月深深久久精品| 人人妻人人澡人人爽人人精品| 久久久精品2019中文字幕2020| 四虎国产精品永久免费网址| 午夜精品一区二区三区免费视频| 亚洲国产精品无码久久SM| 国产成人精品999在线观看| 国产成人久久精品一区二区三区| 国产精品99精品久久免费| 久久精品国产亚洲AV麻豆~| 小辣椒福利视频精品导航| 久久成人国产精品| 亚洲91精品麻豆国产系列在线 | 卡一卡2卡3卡精品网站| 日韩精品久久不卡中文字幕|