傻逼的開始(JavaScript)

? 一取董,JavaScript的簡介

? ? ? 1. 什么是JavaScript棍苹?是基于對象和事件驅(qū)動的語言,應(yīng)用于客戶端

? ? ? 基于對象:

? ? ? · java是面向?qū)ο笠鹛褂脤ο笮枰獎?chuàng)建

? ? ? · js里面提供好了一些對象枢里,直接使用

? ? ? 事件驅(qū)動:每次滑動鼠標(biāo),變換一張圖片

? ? ? 客戶端:指的是瀏覽器

? ? ? 2.JavaScript的特點(diǎn)(3個)

(1)交互性

? ? ? (2)安全性:JavaScript不能訪問本地硬盤

? ? ? (3)跨平臺性:

? ? ? 在java里面跨平臺蹂午,通過虛擬機(jī)實(shí)現(xiàn)的

? ? ? JavaScript跨平臺栏豺,只要在系統(tǒng)里面安裝了支持JavaScript的瀏覽器,就可以運(yùn)行JavaScript

? ? ? 3. java和JavaScript的區(qū)別

? ? ? (1)java是由sun公司豆胸,現(xiàn)在是oracle奥洼;JavaScript是網(wǎng)景公司

? ? ? (2)java面向?qū)ο蟮恼Z言,js是基于對象的語言

? ? ? (3)java跨平臺依靠虛擬機(jī)實(shí)現(xiàn)晚胡,JavaScript只要瀏覽器就可以運(yùn)行

? ? ? (4)JavaScript是弱類型語言灵奖,java是強(qiáng)類型語言

? ? ? 比如:在java中定義int x ="10";就是錯誤的

? ? ? (5)java運(yùn)行先編譯通過虛擬機(jī)運(yùn)行,JavaScript直接使用瀏覽器運(yùn)行

? ? ? 4. JavaScript由3部分組成

? ? ? ECMAScript:由ECMAScript組織制定語句搬泥,語法

? ? ? BOM: broswer object model:瀏覽器對象模型

? ? ? DOM: document object model:文檔對象模型

? ? ? 二桑寨,js和html的結(jié)合方式

? ? ? 有2種結(jié)合方式:

? ? ? 第一種:使用html中的標(biāo)簽js代碼

? ? ? 第二種:使用html的標(biāo)簽,引入外部的.js文件

? ? ? 不能在標(biāo)簽內(nèi)結(jié)束忿檩;不要在標(biāo)簽內(nèi)寫內(nèi)容尉尾,不會被執(zhí)行到

? ? ? .js文件有2種注釋:java的單行注釋和多行注釋

? ? ? 三,js的變量聲明和數(shù)據(jù)類型

1. 在js中聲明變量都是使用關(guān)鍵字var

? ? ? 2. js的原始類型:

? ? ? (1)在java里面有基本數(shù)據(jù)類型:8個

? ? ? (2)在js有原始類型:5個

? ? ? string類型:var str = "str";

? ? ? number數(shù)字類型:var a = 10;

? ? ? boolean布爾類型(true false):var c = true;

? ? ? null(特殊的引用類型燥透,表示對象引用為空):var date = null;

? ? ? undefined(表示定義了一個變量沙咏,但是沒有賦值):var a;

? ? ? (3)typeof(變量名稱):查看當(dāng)前變量的類型

? ? ? 四,js的引用類型和類型轉(zhuǎn)換

? ? ? · 引用對象:

? ? ? object 對象:所有對象都是由這個對象繼承而來

? ? ? Boolean 對象: Boolean原始類型的引用類型

? ? ? Number 對象:Number原始類型的引用類型

? ? ? · 類型轉(zhuǎn)換

? ? ? 轉(zhuǎn)換成字符串

? ? ? 轉(zhuǎn)換成數(shù)字: parseInt() 和 parseFloat()

? ? ? 強(qiáng)制類型轉(zhuǎn)換:

? ? ? Boolean(value) - 把給定的值轉(zhuǎn)換成Boolean型

? ? ? Number(value) - 把給定的值轉(zhuǎn)換成數(shù)字(可以是整數(shù)或者浮點(diǎn)型)

? ? ? String(value) - 把給定的值轉(zhuǎn)換成字符串

? ? ? 五班套,js的語句

? ? ? · 在java中使用的switch語句肢藐、if語句、for語句吱韭、while語句吆豹、do while語句在js中都一樣使用。需要注意的是,在js中所有的變量定義都是var

? ? ? · java里面的switch語句痘煤,在JDK1.7之后凑阶,數(shù)據(jù)類型支持string類型

? ? ? 六,代碼練習(xí):向頁面輸出99乘法表

? ? ? 1. document.write可以直接向頁面輸出html代碼

? ? ? 2. html中的屬性和屬性值之間可以使用雙引號衷快,也可以使用單引號

? ? ? 3. 代碼:

document.write("

"); //循環(huán)9行 for(var i=1;i<=9;i++) {? document.write("");? //循環(huán)每行的部分? for(var j=1;j<=i;j++) {? document.write("");? }? document.write(""); } document.write("");? //向頁面輸出內(nèi)容? document.write(j+"*"+i+"="+i*j);? document.write("");

七宙橱,js的運(yùn)算符--和java基本一致

? ? ? 1. 算術(shù)運(yùn)算符

? ? ? + - * / ......

? ? ? 2. 賦值運(yùn)算符

? ? ? +=的含義:x+=y相當(dāng)于 x=x+y

? ? ? 3. 比較運(yùn)算符

? ? ? 4. 邏輯運(yùn)算符

? ? ? 5.和java中不一樣的內(nèi)容:

? ? ? (1)在js里面不區(qū)分整數(shù)和小數(shù),所以:var a = 123/1000*1000;結(jié)果在java里面是0蘸拔,在js中是123

? ? ? (2)字符串的相加和相減操作:如果是字符串和數(shù)字相加則是拼接操作师郑,如果是相減則是真正的相減操作,如果不是數(shù)字則提示NaN

var a = "12"; document.write(a+1);//輸出121 document.write(a-1);//輸出11 var b = "a"; document.write(b-1);//輸出NaN(3)在js中boolean類型也可以參與運(yùn)算调窍,true代表1宝冕,false代表0

(4)==和===是有區(qū)別的:==比較的是值,===比較的是值和類型

var a = 10; if(a=="10") {? document.write("== yes");//輸出 } if(a==="10"){? document.write("== = yes");//不輸出 }

? ? ? 八陨晶,js的數(shù)組

? ? ? · 什么是數(shù)組猬仁?定義一個變量只能存儲一個值帝璧,想要存多個值先誉,可以使用數(shù)組進(jìn)行存儲

? ? ? · js里面定義數(shù)組的方式:

? ? ? 1. var arr = [];

? ? ? 2. var arr=["a",1,2,true];//可以存儲任意類型

? ? ? 3. var arr = new Array(3);//數(shù)組長度為3

? ? ? 4. var arr = new Array(3,4,5);//往數(shù)組里面存了3個元素

? ? ? · 查看數(shù)組的長度:length

? ? ? · 獲取數(shù)組里面的值:

for(var i=0;i var a = arr[i];? document.write(a);? document.write("
"); }· 數(shù)組的長度:在js中數(shù)組的長度是可變的

? ? ? · 數(shù)組的長度是最大的下標(biāo)+1,之間如果沒有賦值直接默認(rèn)是空字符串

? ? ? 九的烁,js的string對象

? ? ? 1. 字符串?dāng)?shù)組:創(chuàng)建字符串var a = "abc"; var b = new String("bb");

? ? ? 2. 屬性length獲取字符串的長度

? ? ? 3. 方法:

第一類:與html相關(guān)的方法(設(shè)置字符串的樣式的方法) = bold() 使用粗體顯示字符串褐耳。 ** document.write(a.bold()); = fontcolor() 使用指定的顏色來顯示字符串。 ** document.write(a.fontcolor("red")); = fontsize() 使用指定的尺寸來顯示字符串渴庆。 ** document.write(a.fontsize(7)); = link() 將字符串顯示為鏈接 ** document.write(a.link("04-練習(xí)99乘法表.html")); 第二類:與java相似的方法(在java里面也有類似的方法) = charAt() 返回在指定位置的字符铃芦。 如果位置不存在字符,返回空字符串"" ** var str = "abcdefg"; document.write(str.charAt(1)); = concat() 連接字符串 ** document.write(str.concat(str1)); = indexOf() 檢索字符串襟雷,得到檢索的字符的位置刃滓,如果沒有找到返回-1 ** var str2 = "ABCD"; document.write(str2.indexOf("R")); = split() 把字符串分割為字符串?dāng)?shù)組 ** var str3 = "a-b-c"; var arr = str3.split("-"); document.write("length: "+arr.length); = substr() 從起始索引號提取字符串中指定數(shù)目的字符。 = substring() 提取字符串中兩個指定的索引號之間的字符 ** var str4 = "MARYJACKLUCY"; document.write(str4.substr(2,3)); //RYJ, 第一個參數(shù)表示從哪個位置開始耸弄,第二個參數(shù)表示向后取幾個位置的值 document.write("
"); document.write(str4.substring(2,3)); //R 咧虎,第一個參數(shù)表示從哪個位置開始,第二個參數(shù)到哪個位置結(jié)束(不包含這個位置) [2,3)

? ? ? 十计呈,js的Array對象

1. 創(chuàng)建數(shù)組

? ? ? 2. 屬性 length設(shè)置或返回數(shù)組中元素的數(shù)目

? ? ? 3. 方法

= concat():連接數(shù)組 ** var arr2 = [6,7,8]; document.write(arr1.concat(arr2)); = join():把數(shù)組根據(jù)指定字符進(jìn)行分割 ** var arr3 = new Array(3); arr3[0] = "mary"; arr3[1] = "jack"; arr3[2] = "lucy"; document.write(arr3); document.write("
"); document.write(arr3.join("-")); = pop() 刪除并返回數(shù)組的最后一個元素 ** var arr4 = ["aa","bb","cc"]; //輸出數(shù)組的原始的值 document.write("old: "+arr4); //輸出執(zhí)行pop方法之后的返回值 document.write("
"); document.write("return: "+arr4.pop()); //輸出執(zhí)行pop方法之后新的數(shù)組內(nèi)容 document.write("
"); document.write("new: "+arr4); = push() 向數(shù)組的末尾添加元素砰诵,并返回新的長度 ** var arr5 = ["zhangsan","lisi","wangwu"]; //輸出數(shù)組的原始的值 document.write("old: "+arr5) document.write("
"); //輸出執(zhí)行push()方法之后的返回值 document.write("return: "+arr5.push("lucy")); //輸出執(zhí)行push()方法之后新的數(shù)組內(nèi)容 document.write("
"); document.write("new: "+arr5); ** 向數(shù)組里面使用push方法添加一個數(shù)組 document.write("


"); var arr6 = ["AAA","BBB"]; var arr7 = ["CCC","DDD"]; //輸出數(shù)組arr6的原始的值 document.write("old: "+arr6) //輸出執(zhí)行push()方法之后的返回值 document.write("
"); document.write("return: "+arr6.push(arr7)); //輸出執(zhí)行push()方法之后新的數(shù)組內(nèi)容 document.write("
"); document.write("new: "+arr6); //遍歷數(shù)組 for(var i=0;i"); document.write(arr8.reverse());

十一,js的Math對象

1. 進(jìn)行數(shù)學(xué)運(yùn)算捌显,在Math對象里面的方法茁彭,直接使用Math.方法名進(jìn)行調(diào)用

? ? ? 2. 方法

= ceil(x) 對一個數(shù)進(jìn)行上舍入。 = floor(x) 對一個數(shù)進(jìn)行下舍入扶歪。 = round(x) 把一個數(shù)四舍五入為最接近的整數(shù) = random() 返回 0 ~ 1 之間的隨機(jī)數(shù) ** 代碼 var a = 10.2; //ceil(x) 對一個數(shù)進(jìn)行上舍入理肺。 document.write(Math.ceil(a)); //11 document.write("


"); //floor(x) 對一個數(shù)進(jìn)行下舍入。 document.write(Math.floor(a)); document.write("
"); //round(x) 把一個數(shù)四舍五入為最接近的整數(shù) document.write(Math.round(a)); document.write("
"); //random() 返回 0 ~ 1 之間的隨機(jī)數(shù) document.write(Math.random()); //生成0-9之間的隨機(jī)數(shù) 0.0 -- 0.9之間的值 document.write("
"); document.write(Math.floor(Math.random()*10));

十二,js的Date對象

1. 進(jìn)行日期操作的對象

? ? ? 2. 使用Date對象: new Date()

? ? ? 3. 方法:

= toLocaleString() 根據(jù)本地時間格式妹萨,把 Date 對象轉(zhuǎn)換為字符串贪薪。? ** //得到當(dāng)前的時間 var date = new Date(); document.write(date.toLocaleString()); = 得到當(dāng)前的年 getFullYear() 從 Date 對象以四位數(shù)字返回年份? ** document.write(date.getFullYear()); = 得到當(dāng)前的月 getMonth() 從 Date 對象返回月份 (0 ~ 11)? ** document.write(date.getMonth()+1); = 得到當(dāng)前的星期 getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6)? ** 如果當(dāng)前的星期是星期日,返回的是0? ** document.write(date.getDay()) = 得到當(dāng)前的日 getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)? = 得到當(dāng)前的小時? getHours() = 得到當(dāng)前的分? getMinutes() = 得到當(dāng)前的秒 getSeconds() ** document.write(date.getHours()); document.write("
"); document.write(date.getMinutes()); document.write("
"); document.write(date.getSeconds()); = 得到毫秒數(shù) getTime() 返回 1970 年 1 月 1 日至今的毫秒數(shù)

十三眠副,js的RegRxp對象

? ? ? 1. RegRxp對象表示正則表達(dá)式

? ? ? 2. 正則表達(dá)式:規(guī)定字符串出現(xiàn)的規(guī)范

? ? ? 3. 使用: new RegExp("正則表達(dá)")

? ? ? 4. 方法:

? ? ? test() 檢索字符串中指定的值画切,如果存在則返回true,如果不存在匹配的字符返回false

? ? ? 5. 代碼:

//創(chuàng)建正則表達(dá)式對象 var reg = new RegExp("[a]"); //創(chuàng)建一個字符串 var name = "lisi"; //使用正則對象匹配字符串 var flag = reg.test(name); document.write(flag);

? ? ? 十四囱怕,js的bom對象

? ? ? 1. script標(biāo)簽放置位置

? ? ? · 建議方法到后面霍弹,html的解析是從上到下解析的,如果在head里面就獲取不到輸入項里面的值娃弓,因?yàn)檫€沒解析到輸入項典格,所以肯定得不到值

? ? ? 2. 什么是bom:瀏覽器對象模型

? ? ? navigator:瀏覽器的信息

? ? ? screen:屏幕信息

? ? ? history:訪問地址的歷史信息

? ? ? location:設(shè)置url,href設(shè)置或者返回完整的URL

? ? ? window對象:是窗口對象台丛,是頂層對象

? ? ? · 方法:

setInterval("執(zhí)行的js代碼",毫秒數(shù)) 在指定的時間內(nèi)耍缴,重復(fù)執(zhí)行js代碼 ** 有兩個參數(shù) *** 第一個參數(shù)要執(zhí)行的js代碼(js的方法),第二個參數(shù)是時間(毫秒數(shù)) ** 代碼 setInterval("alert('setinterval');",3000); setTimeout("執(zhí)行的js代碼",毫秒數(shù)) 在指定的時間之后挽霉,執(zhí)行js代碼防嗡,執(zhí)行一次 ** 有兩個參數(shù) *** 第一個參數(shù)要執(zhí)行js代碼(js的方法),第二個參數(shù)是時間(毫秒數(shù)) ** 代碼 setTimeout("alert('settimeout');",3000); clearInterval(id) 取消由 setInterval() 設(shè)置的 timeout侠坎。 clearTimeout(id) 取消由setTimeout() 方法設(shè)置的 timeout蚁趁。

? ? ? 十五,js的全局變量和局部變量

? ? ? 1. 全局變量:在js里面实胸,如果在一個script標(biāo)簽里面定義變量他嫡,在頁面中其他script標(biāo)簽里面都可以使用

? ? ? 2. 局部變量:在js方法里面定義一個變量,這個變量只能在方法里面使用

? ? ? 3. 瀏覽器的調(diào)試工具:F12

? ? ? 十六庐完,js的全局函數(shù)

? ? ? 1. 不屬于任何對象钢属,可以直接使用

? ? ? 2,主要的函數(shù)方法:

eval(): 把字符串當(dāng)成js代碼執(zhí)行 ** var str = "alert('123456');"; //alert(str); eval(str); isNaN() 檢查某個值是否是數(shù)字 ** 如果是數(shù)字返回 false,如果不是一個數(shù)字返回 true门躯。 parseInt() 解析一個字符串并返回一個整數(shù) ** var str1 = "123"; alert(parseInt(str1)+1); encodeURI() 把字符串編碼為 URI ** var str2 = "abc測試中文"; var encodestr2 = encodeURI(str2); document.write(str2); document.write("
"); document.write(encodestr2); decodeURI() 解碼某個編碼的 URI ** var decodestr2 = decodeURI(encodestr2);

JavaScript基礎(chǔ)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末淆党,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子生音,更是在濱河造成了極大的恐慌宁否,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缀遍,死亡現(xiàn)場離奇詭異慕匠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)域醇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門台谊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蓉媳,“玉大人,你說我怎么就攤上這事锅铅±疑耄” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵盐须,是天一觀的道長玩荠。 經(jīng)常有香客問我,道長贼邓,這世上最難降的妖魔是什么阶冈? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮塑径,結(jié)果婚禮上女坑,老公的妹妹穿的比我還像新娘。我一直安慰自己统舀,他們只是感情好匆骗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著誉简,像睡著了一般碉就。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上描融,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天铝噩,我揣著相機(jī)與錄音衡蚂,去河邊找鬼窿克。 笑死,一個胖子當(dāng)著我的面吹牛毛甲,可吹牛的內(nèi)容都是我干的年叮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼玻募,長吁一口氣:“原來是場噩夢啊……” “哼只损!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起七咧,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤跃惫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后艾栋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爆存,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年蝗砾,在試婚紗的時候發(fā)現(xiàn)自己被綠了先较。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片携冤。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖闲勺,靈堂內(nèi)的尸體忽然破棺而出曾棕,到底是詐尸還是另有隱情,我是刑警寧澤菜循,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布翘地,位于F島的核電站,受9級特大地震影響癌幕,放射性物質(zhì)發(fā)生泄漏子眶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一序芦、第九天 我趴在偏房一處隱蔽的房頂上張望臭杰。 院中可真熱鬧,春花似錦谚中、人聲如沸渴杆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磁奖。三九已至,卻和暖如春某筐,著一層夾襖步出監(jiān)牢的瞬間比搭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工南誊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留身诺,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓抄囚,卻偏偏與公主長得像霉赡,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子幔托,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一穴亏、JS前言 (1)認(rèn)識JS 也許你已經(jīng)了解HTML標(biāo)記(也稱為結(jié)構(gòu)),知道了CSS樣式(也稱為表示)重挑,會使用HT...
    凜0_0閱讀 2,770評論 0 8
  • 第1章 認(rèn)識JS JavaScript能做什么嗓化?1.增強(qiáng)頁面動態(tài)效果(如:下拉菜單、圖片輪播谬哀、信息滾動等)2.實(shí)現(xiàn)...
    mo默22閱讀 1,288評論 0 5
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法刺覆,類相關(guān)的語法,內(nèi)部類的語法玻粪,繼承相關(guān)的語法隅津,異常的語法诬垂,線程的語...
    子非魚_t_閱讀 31,631評論 18 399
  • 《ijs》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,138評論 0 7
  • 思維導(dǎo)圖可以激發(fā)學(xué)習(xí)積極性,提高創(chuàng)新思維能力和自主學(xué)習(xí)的意識伦仍,增強(qiáng)記憶结窘,提高了學(xué)習(xí)效率。 請欣賞思維導(dǎo)圖——繪制要...
    4721063929e0閱讀 407評論 1 0