日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

ECMAScript-1【发展史-ECMA-编程语言-变量-JS值】

發(fā)布時(shí)間:2024/1/18 javascript 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ECMAScript-1【发展史-ECMA-编程语言-变量-JS值】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一.發(fā)展史及瀏覽器內(nèi)核

  • 瀏覽器內(nèi)核
  • ? ? ? ? 火狐:gecko

    ? ? ? ? chrome:webkit blink

    ? ? ? ? IE:trident

    ? ? ? ? 歐鵬:presto blink

    ? ? ? ? safari:webkit
    ? ? ?2.發(fā)展史

  • 1990年覽器誕生,蒂姆伯納斯李 超文本分享資訊的人world wide web? 移植到C libwww/nexus允許別人瀏覽他人編寫的網(wǎng)站MOSAIC
  • 1993 美國伊利諾大學(xué)NCSAZ組織(馬克 安德森)開發(fā)了MOSAIC瀏覽器顯示圖片,圖形化瀏覽器
  • 1994 馬克安德森和吉姆克拉克(硅圖SGI),成立了一個(gè)公司MOSIAC communication corporation corporation標(biāo)權(quán)屬于伊利諾大學(xué),伊利諾大學(xué)把MOSIAC轉(zhuǎn)賣給了spy glcass 網(wǎng)景公司->netscape navigator
  • 1996 微軟的公司收購了spy glass,然后MOSAIC內(nèi)核開發(fā)出來了 IE internet explorer1.0,同年IE3發(fā)布了 Jscript腳本語言網(wǎng)景公司Brendan eich在netscape navigator 開發(fā)出了livescript(JS)的前身,JAVA火起來,網(wǎng)景l(fā)ivesript不溫不火,后面就和SUN公司,合作推廣和宣傳產(chǎn)品,livesript 更名為javascript
  • 2001年 IE6和XP誕生,出現(xiàn)了JS引擎
  • 2003 Mozilla公司 firefox? 是根據(jù)netscape? avigator復(fù)制出來的
  • 2008 google基于webkit blink GEARS離線上網(wǎng),開發(fā)出來chrome瀏覽器 ->V8引擎JS引擎非常牛逼:a直接翻譯機(jī)器碼、b獨(dú)立于瀏覽器運(yùn)行
  • 2009年? 甲骨文oracle收購了SUN公司,JS的所有權(quán)給甲骨文
  • 二.ECMA

    ECMA 全稱 European Computer Manufactures Association

    歐洲計(jì)算機(jī)制造聯(lián)合會(huì)

    作用: 評估、開發(fā)、認(rèn)可電信、計(jì)算機(jī)標(biāo)準(zhǔn)

    三.編程語言

    ECMA-262 腳本語言的規(guī)范

    (1).腳本語言:

    ->腳本引擎->解釋器

    (2).編程四要素:

  • 變量
  • 數(shù)據(jù)結(jié)構(gòu)
  • 函數(shù)
  • 運(yùn)算能力
  • (3).強(qiáng)類型弱類型

    動(dòng)態(tài)語言->腳本語言->解釋性語言->弱類型語言

    靜態(tài)語言->編譯型語言->強(qiáng)類型語言

    (4).前后端腳本

    前端:javascript 客戶端腳本

    后端: php 服務(wù)端腳本

    (5).IE的jscript

    jscript只支持微軟IE

    vbscript

    (6).JS內(nèi)容

    ECMAscript:語法、變量、關(guān)鍵字、保留字..

    DOM:document object model W3C

    BOM:browser object model 沒有規(guī)范

    (7).輪轉(zhuǎn)時(shí)間片

    JS引擎是單線程的但是可以模擬多線程

    實(shí)現(xiàn)原理:短時(shí)間之內(nèi)執(zhí)行多個(gè)任務(wù)的片段

  • 任務(wù)1 任務(wù)2
  • 切分任務(wù)1 任務(wù)2
  • 隨機(jī)排列這些任務(wù)片段,組成隊(duì)列
  • 按照這個(gè)隊(duì)列順序?qū)⑷蝿?wù)片送進(jìn)JS進(jìn)程
  • JS線程執(zhí)行一個(gè)又一個(gè)的任務(wù)片段
  • (8).模板

    四.變量

    (1).命名規(guī)范:

  • 不能以數(shù)字開頭
  • 能以字母_$開頭
  • 不能命名保留字和關(guān)鍵字
  • ?五.JS的值

    (1).原始值(基本類型)

  • Number(NaN為數(shù)字類型)
  • String
  • Boolean
  • undefind
  • null
  • 存于棧內(nèi)存,先進(jìn)后出
  • 賦值時(shí)到其他變量時(shí)其他變量copy數(shù)據(jù)另行開辟棧空間
  • 當(dāng)原始數(shù)據(jù)變化,被賦值的變量值不變
  • 當(dāng)原始數(shù)據(jù)被重新賦值將會(huì)另行開辟空間
  • (2).引用值

  • object
  • arry
  • function
  • date
  • RegExp
  • 名稱存于棧,數(shù)據(jù)存于heap,但其中名稱指向棧
  • 賦值時(shí)到其他變量時(shí)其他變量在棧中開辟空間指向原始堆處不會(huì)另行開辟堆空間
  • 當(dāng)原始數(shù)據(jù)發(fā)生變化,被賦值的變量值會(huì)改變
  • 當(dāng)原始數(shù)據(jù)被重新賦值將會(huì)在棧和堆中開辟空間
  • var arr1 = [1, 2, 3, 4]; var arr2 = arr1; arr1.push(5); //此時(shí)arr2也是[1 2 3 4 5 ]

    var arr1 = [1, 2, 3, 4]; var arr2 = arr1; arr1 = [1, 2]?? //此時(shí)arr2是[1 2 3 4 ] 與后面賦值的無關(guān)了

    總結(jié)

    以上是生活随笔為你收集整理的ECMAScript-1【发展史-ECMA-编程语言-变量-JS值】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。