javascript基礎

1、javascript

1.1javascript來源

94年網(wǎng)景公司 研發(fā)出世界上第一款瀏覽器。
95年 sun公司 java語言誕生
網(wǎng)景公司和sun合作。
Java+script ===> javascript

1.2、W3c規(guī)范

結(jié)構(gòu)標準 html
表現(xiàn)標準 css
行為標準 js

1.3、javascript和ecmascript的關(guān)系

ECMAScript是一種由Ecma國際前身為歐洲計算機制造商協(xié)會,英文名稱是European Computer Manufacturers Association,制定的標準。
JavaScript是由公司開發(fā)而成的,公司開發(fā)而成的一定是有一些問題,不便于其他的公司拓展和使用。所以歐洲的這個ECMA的組織,牽頭制定JavaScript的標準,取名為ECMAScript。
簡單來說ECMAScript不是一門語言,而是一個標準。符合這個標準的比較常見的有:JavaScript、Action Script(Flash中用的語言)。就是說,你JavaScript學完了,F(xiàn)lash中的程序也會寫了。
ECMAScript在2015年6月,發(fā)布了ECMAScript 6版本,語言的能力更強。但是,瀏覽器的廠商不能那么快的去追上這個標準。這些新的特性,我們就業(yè)班的深入,也會給大家介紹。

1.4、今天的javascript:承擔更多責任

2003年之前,JavaScript被認為“牛皮鮮”,用來制作頁面上的廣告,彈窗、漂浮的廣告。什么東西讓人煩,什么東西就是JavaScript開發(fā)的。所以瀏覽器就推出了屏蔽廣告功能。
2004年JavaScript命運開始改變了,那一年谷歌公司,開始帶頭使用Ajax技術(shù)了,Ajax技術(shù)就是JavaScript的一個應用。并且,那時候人們逐漸開始提升用戶體驗了

![(http://upload-images.jianshu.io/upload_images/6516493-e6c7bdc3f0025514.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2010年的時候,人們更加了解HTML5技術(shù)了,HTML5推出了一個東西叫做Canvas(畫布),工程師可以在Canvas上進行游戲制作,利用的就是JavaScript。


2011年,Node.js誕生,使JavaScript能夠開發(fā)服務器程序了。
今天,JavaScript工程師是絕對的吃香,能夠和iOS、Android工程師比肩,毫不遜色的。
現(xiàn)在,公司都流行WebApp,就是用網(wǎng)頁技術(shù)開發(fā)手機應用。什么意思呢?手機系統(tǒng)有iOS、安卓、windows phone。那么公司比如說開發(fā)一個“攜程網(wǎng)”APP,就需要招聘三隊人馬,比如iOS工程師10人,安卓工程師10人,windows工程師10人。共30人,工資開銷大。并且,如果要改版,要改3個版本。所以,現(xiàn)在公司,都用web技術(shù),用html+css+javascript技術(shù)來開發(fā)app。好處是不用招聘那么多工程師,只需要幾個前端開發(fā)工程師即可。并且也易于迭代,就是網(wǎng)頁一改變,所有的終端都變了。

2、Js介紹

概念:js是一門在客戶端進行交互的網(wǎng)頁編程語言
組成:
ecmascript js標準
dom 可以利用JS操作網(wǎng)頁元素
bom 通過api來操作瀏覽器
特點:
簡單易用
基于對象
基于過程
解釋執(zhí)行:js js引擎來執(zhí)行源代碼
編譯執(zhí)行:Java c# 源代碼==>可執(zhí)行文件.dll ==>電腦執(zhí)行.dll課執(zhí)行文件
使用范圍:
表單驗證
輪播圖特效
游戲開發(fā)

3、Js書寫位置

內(nèi)嵌式寫法

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
    js信息
    </script>
</head>

外鏈式寫法

<script type="text/javascript" src="1.js"></script>

新建一個js文件
通過script標簽里的src=”1.js”屬性將JS文件調(diào)入到當前頁面。
補充內(nèi)嵌式寫法:
推薦Js代碼最好放在body結(jié)束標簽的后邊。
補充外鏈式寫法:
推薦將多個js文件合并為一個js文件在瀏覽器中執(zhí)行。

4、Js初體驗

4.1在頁面中輸出 消息的幾種寫法

alert("消息") 在頁面出現(xiàn)一個彈出框,將信息彈出。
confirm("消息")在頁面出現(xiàn)一個彈出框,將信息顯示,常與if判斷語句結(jié)合使用
prompt("消息") 彈出一個文本框,可以在文本框接收內(nèi)容,常用于接收信息
console.log(“信息”) 將信息輸出到控制臺,常用于代碼調(diào)試。
document.write("信息") 直接在頁面輸出消息
document.write("<strong>我是帥哥></strong>")

注意:document.write("消息"),不僅可以輸出內(nèi)容,還可以輸出html標簽。

4.2、代碼注釋

快捷鍵:ctrl+/
單行注釋://
多行注釋:/* */

4.3、分號的問題

一行代碼結(jié)束后,必須在后邊加上分號。

5、變量

變量就是變化的變量
變量的作用就是用來裝數(shù)據(jù)的容器

5.1、定義變量

定義變量使用var 來定義變量名
``
var name;//定義變量`

使用賦值運算符來給變量賦值

name="李四";//給變量賦值

賦值運算符
賦值運算符為“=”,這個符號不用判斷兩者是否相同
如果判斷是否相同,可使用==(===)
以上兩步可簡寫為

var name="李四"http://定義變量和賦值

####5.3、變量的命名規(guī)范
不能使用純數(shù)字或者數(shù)字開頭來定義變量名。
不推薦使用漢字來定義變量名。
不能使用特殊符號或者特殊符號開頭來定義變量名(_除外)
不能使用關(guān)鍵字來定義變量名

![](http://upload-images.jianshu.io/upload_images/6516493-0b25d7f76d954104.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
不能使用保留字來定義變量名

![](http://upload-images.jianshu.io/upload_images/6516493-c7728b300327fcd9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
注意:在JS中,是嚴格區(qū)分大小寫的。
#6、數(shù)據(jù)類型
簡單類型
number  數(shù)字類型
包括正數(shù),負數(shù),小數(shù)
取值范圍:
 能表示的最大值是±1.7976931348623157乘以10的308次方
 能表示的最小值是±5 乘以10的-324次方
表示方式
十進制
十六進制
以0x開頭,從0-9,a(A)到f(F)的范圍。

var n1="0xaca"http://十六進制
alert(n1);

表示方式
十進制
十六進制
以0x開頭,從0-9,a(A)到f(F)的范圍。

八進制
以0開頭,0-7組成。
string  字符串
凡是用””或者’’引起來的全是字符串類型。
    轉(zhuǎn)義字符:
\”   轉(zhuǎn)雙引號
\’   轉(zhuǎn)單引
\r    回車
\n    換行


![](http://upload-images.jianshu.io/upload_images/6516493-918c870a38b111f9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
boolean   布爾類型
布爾數(shù)據(jù)類型兩個數(shù)據(jù)值:  true   false
實際運算中,true 代表1   false代表0;
undefined  未初始化
定義變量,未賦值
null   object(值為空) 引用   為空,內(nèi)存里找不到這個變量

var n; //定義undefined 定義變量,未賦值。
var n1=null;//定義了變量,引用為空,在內(nèi)存找不到這個變量
alert(n1);
var n2="" //空字符串類型 內(nèi)存里可以找到這個變量

復雜類型
object  對象
array  數(shù)組
#7、比較運算符
<  >    >=   <=   !=
#8、判斷數(shù)據(jù)類型
typeof(變量名);
#9、算術(shù)運算符
+
加運算:
兩個數(shù)據(jù)類型都為數(shù)字類型變量相加,得到的數(shù)字類型。
一個為數(shù)字類型的變量和一個為字符串類型的變量相加,得到的是一個字符串類型,加號起一個連接的作用。

var n1=123;
var b2="123";
alert(n1+n2);
alert(typeof(n1+n2));

-
減運算:
如果兩個變量都為數(shù)字類型相減,得到的是數(shù)字類型。
如果一個為數(shù)字類型的變量,一個為數(shù)字字符串,相減得到的是數(shù)字類型。
如果一個數(shù)字類型的變量,一個為非數(shù)字字符串,相減得到的NaN,數(shù)字類型。
NaN  not  a  number
兩個都為字符串的變量相減,得到的是NaN.
*
/
除運算
兩個都為數(shù)字類型的變量,相除得到的是數(shù)字類型。
如果一個為數(shù)字類型的變量,一個為數(shù)字字符串變量,相除得到的是數(shù)字類型。
如果一個數(shù)字類型的變量,一個為非數(shù)字字符串,相除得到的是NaN,數(shù)字類型。
如果0作為除數(shù),得到的是infinitiy(無限大),是一個數(shù)字類型。
% 取余數(shù)
0優(yōu)先級 先計算()括號里面的值。

![](http://upload-images.jianshu.io/upload_images/6516493-241cebbdf793b910.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 每天一句:沒有方向感,我們不知道自己走向哪里。沒有方向感,我們所有的努力就缺乏一個標準,我們每時每刻所有的努力都處...
    EndEvent閱讀 726評論 0 2
  • JavaScript 來了 1995年,誕生了JavaScript語言,那一年,我剛剛從大學畢業(yè)。在今年RedMo...
    abel_cao閱讀 2,243評論 2 54
  • Javascript簡介 Javascript實現(xiàn) 雖然Javascript和ECMAscript通常都被人們用來...
    給我一炷香的時間閱讀 730評論 0 3
  • 轉(zhuǎn)載請聲明出處 博客原文 隨手翻閱以前的學習筆記,順便整理一下放在這里,方便自己復習,也希望你有也有幫助吧 第一課...
    前端進階之旅閱讀 12,973評論 13 94
  • 1.HTML DOM (Document Object Model) document.getElementByI...
    廖馬兒閱讀 1,610評論 0 17

友情鏈接更多精彩內(nèi)容