国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript高級程序設計(第3版)學習筆記7 js函數(上)

2024-05-06 14:21:05
字體:
來源:轉載
供稿:網友
變量類型

  在說函數之前,先來說說變量類型。

1、變量:變量在本質上就是命名的內存空間。

2、變量的數據類型:就是指變量可以存儲的值的數據類型,比如Number類型、Boolean類型、Object類型等,在ECMAScript中,變量的數據類型是動態的,可以在運行時改變變量的數據類型。

3、變量類型:是指變量本身的類型,在ECMAScript中,變量類型就只有兩種:值類型和引用類型。當變量的數據類型是簡單數據類型時,變量類型就是值類型,當變量的數據類型是對象類型時,變量類型就是引用類型。在不引起歧義的情況下,也可以稱變量的數據類型為變量類型。

  那么,值類型和引用類型有什么區別呢?最主要的一個,就是當變量類型為值類型時,變量存儲的就是變量值本身,而當變量類型為引用類型時,變量存儲的并不是變量值,而只是一個指向變量值的指針,訪問引用類型的變量值時,首先是取到這個指針,然后是根據這個指針去獲取變量值。如果將一個引用類型的變量值賦給另一個變量,最終結果是這兩個變量同時指向了一個變量值,修改其中一個會同時修改到另一個:
代碼如下:
var a = {
name:'linjisong',
age:29
};
var b = a;//將引用類型的變量a賦給變量b,a、b同時指向了a開始指向的那個對象
b.name = 'oulinhai';//修改b指向的對象,也就是修改了a指向的對象
console.info(a.name);//oulinhai
b = {//將變量重新賦值,但是b原來指向的對象沒有變更,也就是a指向的對象沒有變化
name:'hujinxing',
age:23
};
console.info(a.name);//oulinhai

好了,關于變量類型先說到這,如果再繼續到內存存儲數據結構的話,就怕沉得下去浮不上來。

函數

  如果說對象是房間,那么函數就是有魔幻效應的房間了。函數首先是對象,然后這個函數對象還具有很多魔幻功能……

1、函數

(1)函數是對象

  函數也是一種對象,而用于創建函數對象實例的函數就是內置的Function()函數(創建對象實例需要函數,而函數又是一種對象實例,是不是讓你有了先有雞還是先有蛋的困惑?別鉆牛角尖了,只要雞能生蛋,蛋能孵雞就行了,誰先誰后還是留給哲學家吧),但是函數這種對象,又和一般的對象有著極大的不同,以至于對函數對象實例使用typeof時返回的不是object而是function了。

(2)函數名是指向函數對象的引用類型變量
代碼如下:
function fn(p){
console.info(p);
}
console.info(fn);//fn(p),可以將fn作為一般變量來訪問
var b = fn;
b('function');//function,可以對b使用函數調用,說明b指向的對象(也就是原來fn指向的對象)是一個函數
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 南安市| 海晏县| 铜梁县| 会宁县| 保山市| 屏东市| 武宁县| 梅河口市| 白玉县| 满洲里市| 洞口县| 珲春市| 晴隆县| 烟台市| 清水县| 曲周县| 胶南市| 民勤县| 木兰县| 莲花县| 德昌县| 灌云县| 新化县| 余江县| 德州市| 都昌县| 随州市| 龙山县| 深泽县| 花莲市| 旌德县| 怀来县| 邵阳县| 水富县| 来安县| 安龙县| 平远县| 梧州市| 绥江县| 丹江口市| 饶河县|