JavaScript基礎第一天

js的歷史

Nombas與ScriptEase

大概在 1992 年,一家稱作 Nombas 的公司開發了一種叫做 C 減減(C-minus-minus,簡稱 Cmm)的嵌入式腳本語言,并將這個腳本語言捆綁在一個可以嵌入到瀏覽的2的共享軟件中,代表了第一個在萬維網上使用的客戶端語言。后來由于mm聽起來比較消極,Nombas又將Cmm的名字修改為ScriptEase.雖然Nombas如今在互聯網行業已經銷聲匿跡,但是它的理念卻成為因特網的一塊重要基石。

Netscape與JavaScript

當網上沖浪越來越流行時,對于開發客戶端腳本的需求也逐漸增大。那時,大部分因特網用戶還僅僅通過 28.8 kbit/s 的調制解調器連接到網絡,即便這時網頁已經不斷地變得更大和更復雜。而更加加劇用戶痛苦的是,僅僅為了簡單的表單有效性驗證,就要與服務器進行多次地往返交互。設想一下,用戶填完一個表單,點擊提交按鈕,等待了 30 秒的處理后,看到的卻是一條告訴你忘記填寫一個必要的字段。

為了解決這一問題,NetScape公司的 Brendan Eich 開始為即將在1995年發行的 Netscape Navigator 2.0瀏覽器開發一款名為LiveScript的腳本語言,最終NetScript與Sun公司合作完成了LiveScript,并且將這種語言命名為JavaScript.

微軟與JScript

在JavaScript 1.1 版本發布時,微軟公司也決定進軍瀏覽器行業。微軟公司在推出的IE 3.0上搭載了一個JavaScript的克隆版,并且命名為JScript.

ECMAScript

在微軟進入后,有 3 種不同的 JavaScript 版本同時存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase.和其他編譯語言不同的是,JavaScript 并沒有一個標準來統一其語法或特性,而這 3 種不同的版本恰恰突出了這個問題。

1997 年,JavaScript 1.1 作為一個草案提交給歐洲計算機制造商協會(ECMA).ECMA指派由來自 Netscape、Sun、微軟、Borland 和其他一些對腳本編程感興趣的公司的程序員組成的第 39 技術委員會(TC39) 錘煉出了 ECMA-262,該標準定義了名為 ECMAScript 的全新腳本語言。

總結:Javascript是ECMAscript的一個實現 并且在此基礎上擴展了DOM和BOM

js的組成

ECMAscript: JavaScript的核心,描述了語言的基本語法和數據類型,ECMAScript是一套標準,定義了一種語言的標準與具體實現無關

DOM:(document object model 文檔對象模型)一套操作頁面元素的API

BOM:(browser object model 瀏覽器對象模型)一套操作瀏覽器功能的API

javascript是什么?

javascript是在運行在客戶端的腳本語言

客戶端:客戶端是相對于服務器而言的,在這里先簡單理解為瀏覽器 瀏覽器就是一個客戶端軟件,瀏覽器從服務器上將資源(html,css,js,圖片等)請求下來 并且在本地利用瀏覽器去解析這些資源 服務器本質上也是一臺電腦。用來接收客戶端發過來的請求,并處理請求。同時存儲數據 讀取數據等操作

腳本語言:不需要編譯 讀取一句 解析一句 一句報錯 下一句不會繼續執行 執行過程:源代碼 - 預解析 - 運行 編譯語言:需要編譯 編譯一旦出錯 整個程序都不會運行 執行過程:源代碼 - 編譯后的字節碼文件 - 運行

javascript的作用

1、網頁特效 2、表單驗證 3、服務端的JS (node.js) 4、命令行工具 (node.js) 5、app 6、游戲開發

總結:JS無所不能,我們學習的方向主要針對的是web頁面

變量

概念:一塊被命名的運行存儲空間

運行存儲空間:電腦應用程序在運行的時候開辟的內存空間

為什么要命名:方便程序員使用

使用

1.先聲明后賦值????????var a; ????a=1;

2.聲明并賦值????????????var a=1;

3.一次聲明多個,單獨賦值????var a,b,c; ???? a=1;???? b=2;???? c=3;

4.不聲明直接賦值,屬于不遵守使用規范,但不會報錯,堅決不推薦;

5.不聲明直接使用,會報語法錯誤。

規則:? ? 只能為字母、數字、下劃線和$符號組成,且不能以數字開頭;

規范

1.變量名必須有意義

2.遵守駝峰式命名法 首字母小寫,后面單詞首字母大寫 例如:userName userPassword

注意

1.不能使用關鍵字和保留字命名

?關鍵字:對于JS來說有特殊意義的字符 [查詢保留字和關鍵字]https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords

? 保留字:現在沒有意義 但是保留在那邊 以后可能會有意義的字符

交換變量值

1.借助第三個容器臨時保存

2.運算(了解即可 基本不用)????

????var a = 10;????

????var b = 20;????

????a = a + b;

????b = a - b;

????a = a - b;

注釋

1、單行注釋?

? ? ? // 用在代碼上?

2、多行注釋?

????/*?多行注釋

*內容

*內容

?*/ 用在說明文檔上

輸出語法

1.調用彈出框功能alert('Hello world');

2.調用對話框功能prompt('請輸入你的名字');

3. 確認框confirm('Are you sure?');

4. 向頁面輸入對應的值document.write('歡迎光臨');

5. 向控制臺輸出日志console.log('我是出現在控制臺 ,一般用于后期調試代碼');

數據類型

基本數據類型

Number:數字類型

轉換為數字類型:

1.parseInt();將可以轉化的其他類型的數據的小數點前的轉化為數字(整數),如果內部包含其他字符,則轉化第一個非數字類型字符前的數字。

2.parseFloat();將可以轉化的其他類型的數據轉化為數字(小數),如果內部包含其他字符,則轉化第一個非數字類型字符前的數字。

3.Number();轉化之前要先掃描一下當前的數據,如果包含不是數字類型的字符,則轉化結果為NaN。如果全是數字類型的字符,則轉化為整數

4.黑科技(隱式轉換):在數據前添加一個“+”


String:字符串類型

轉化為字符串

1.數據.toString();nunll和undefined不能轉化

2.String(數據);

????null轉化結果為null

????undefined轉化結果為undefined

3.數據+“ ”;

一個字符串和任何一個數據相加,其結果都是字符串

null:空值,賦值給變量可用于清空該變量

undefined:只聲明而未賦值的變量,默認值為undefined

boolean:布爾類型

轉化為布爾類型

轉化為false的值有:0 null undefined “ ” false 不等價的表達式 NaN

為什么要進行數據類型轉換

不同的數據類型的數據在進行運算時,產生的結果也不一樣,為了方便數據的運算,必要的時候要進行數據轉換。

復雜數據類型

object

array:數組

function:函數

算術運算符

1.加、減、乘、除、取模

2.加號口訣:數值相加 字符相連

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 27,642評論 1 45
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執行單位為行(line),也就是一...
    悟名先生閱讀 4,195評論 0 13
  • 概要 64學時 3.5學分 章節安排 電子商務網站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,298評論 0 3
  • 關于Mongodb的全面總結 MongoDB的內部構造《MongoDB The Definitive Guide》...
    中v中閱讀 32,012評論 2 89
  • 目錄: 一、狀態欄與導航欄二、設置狀態欄顯隱與字體樣式三、設置狀態欄背景色四、啟動頁隱藏狀態欄五、狀態欄、導航欄相...
    梧雨北辰閱讀 17,158評論 3 41