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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

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

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

一.發展史及瀏覽器內核

  • 瀏覽器內核
  • ? ? ? ? 火狐:gecko

    ? ? ? ? chrome:webkit blink

    ? ? ? ? IE:trident

    ? ? ? ? 歐鵬:presto blink

    ? ? ? ? safari:webkit
    ? ? ?2.發展史

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

    ECMA 全稱 European Computer Manufactures Association

    歐洲計算機制造聯合會

    作用: 評估、開發、認可電信、計算機標準

    三.編程語言

    ECMA-262 腳本語言的規范

    (1).腳本語言:

    ->腳本引擎->解釋器

    (2).編程四要素:

  • 變量
  • 數據結構
  • 函數
  • 運算能力
  • (3).強類型弱類型

    動態語言->腳本語言->解釋性語言->弱類型語言

    靜態語言->編譯型語言->強類型語言

    (4).前后端腳本

    前端:javascript 客戶端腳本

    后端: php 服務端腳本

    (5).IE的jscript

    jscript只支持微軟IE

    vbscript

    (6).JS內容

    ECMAscript:語法、變量、關鍵字、保留字..

    DOM:document object model W3C

    BOM:browser object model 沒有規范

    (7).輪轉時間片

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

    實現原理:短時間之內執行多個任務的片段

  • 任務1 任務2
  • 切分任務1 任務2
  • 隨機排列這些任務片段,組成隊列
  • 按照這個隊列順序將任務片送進JS進程
  • JS線程執行一個又一個的任務片段
  • (8).模板

    四.變量

    (1).命名規范:

  • 不能以數字開頭
  • 能以字母_$開頭
  • 不能命名保留字和關鍵字
  • ?五.JS的值

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

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

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

    var arr1 = [1, 2, 3, 4]; var arr2 = arr1; arr1 = [1, 2]?? //此時arr2是[1 2 3 4 ] 與后面賦值的無關了

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。