---恢復內容開始---
1-語法標准(Ecmascript)
DOM
BOM
2=特點以及適用范圍
簡單易用:封裝好了一些方法,屬性
基於對象
面向對象: 屬於編程思維(思想)
C#,C++,Java,PHP.....
基於對象:
3-解釋執行
編譯執行:(C#)
C#(源代碼===)》編譯(.dll文件)===》計算機執行dll文件
解釋執行:JS特點(代碼直接執行)
4-寫法
內嵌式寫法寫在head標簽里
<script type="css/javascript">
<script>
外聯式寫法
后綴名.js
引用<spript type="text/javascript src="""><spript>
5-補充屬性
async:異步
注意:該屬性指的是瀏覽器將外部JS文件下載完成后,立馬執行。
defer:延時執行
注意:該屬性值值得是瀏覽器將外部JS文件下載完成后按順序執行。
行內(不常用)
<div onclick=“”***“”></div>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="css/javascript" src="1.js" async></script> <script type="text/javascript"> alert(1)(括號里如果寫漢字或者字母 需要帶引號) alert(1) alert(1) </head>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script>alert(1)</script>
<script>alert(2)</script>
<script>alert(3)</script>
<script type="css/javascript" src="1.js" defer></script>
<script type="text/javascript">
alert(4)
alert(5)
</head>
---恢復內容結束---
1-語法標准(Ecmascript)
DOM
BOM
2=特點以及適用范圍
簡單易用:封裝好了一些方法,屬性
基於對象
面向對象: 屬於編程思維(思想)
C#,C++,Java,PHP.....
基於對象:
3-解釋執行
編譯執行:(C#)
C#(源代碼===)》編譯(.dll文件)===》計算機執行dll文件
解釋執行:JS特點(代碼直接執行)
4-寫法
內嵌式寫法寫在head標簽里
<script type="css/javascript">
<script>
外聯式寫法
后綴名.js
引用<spript type="text/javascript src="""><spript>
5-補充屬性
async:異步
注意:該屬性指的是瀏覽器將外部JS文件下載完成后,立馬執行。
defer:延時執行
注意:該屬性值值得是瀏覽器將外部JS文件下載完成后按順序執行。
行內(不常用)
<div onclick=“”***“”></div>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="css/javascript" src="1.js" async></script> <script type="text/javascript"> alert(1)(括號里如果寫漢字或者字母 需要帶引號) alert(1) alert(1) </head>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script>alert(1)</script>
<script>alert(2)</script>
<script>alert(3)</script>
<script type="css/javascript" src="1.js" defer></script>
<script type="text/javascript">
alert(4)
alert(5)
</head>
6-JS中常用的輸出消息的方式
通過alert(123)或者(“”字母“”或者“”漢字“”)
通過document.write(“”你好");
注意:該方法中還可以設置html標簽
document.write(“”<h1>你好</h1>“”);
在控制台中輸出消息
console.log(123);
console.log("你好");
接受用戶輸入信息
prompt(“”請輸入您的姓名“”);
確定取消方法
confirm(“”確定退出么?“”)
7-變量(重點)
變量:會變化的量(數據)用來存儲數據的容器
變量定義:var 變量名 = 值 ;
注意1 首先定義變量必須使用var 關鍵字
2 “”=“” 賦值運算符
3 一個變量只能保存一個值(只能保存最后一個賦值結果)
變量命名規范
不推薦使用漢字定義變量
不能使用特殊字符或者特殊字符開頭
不能使用數字或者以數字開頭定義變量
變量中間不能出現空格
不能使用關鍵字定義變量
不推薦使用保留字定義變量
注意:1一行完整的代碼結束后必須以;結束
2 JS中區分字母大小寫
8-數據類型介紹
數據類型是用來確定變量的存儲位置
常見的數據類型:
1.數字類型(number)
如果一個變量的值是純數字,那么該變量的數據類型就是數字類型
數字類型的表示方式有
十進制、十六進制(0X開頭 0-f)、八進制(以0開頭 0-7)
2.字符串類型(string)
如果一個變量的值使用雙引號或者單引號,那么該變量的數據類型就是字符串類型。
字符串特性:不可變性。(在內存中的不可變,不是值不可變)(注意不要大量拼接字符串)
屬性:變量.lengh 獲取字符串長度
轉義字符(了解)
\" 轉雙引號 \'轉單引號 成對出現 例:alert(“今天學習了\“ js \” ”);
\r回車符
\n換行符
3.布爾類型(boolean)
如果一個變量的值是true或者false 那么該變量的數據類型就是布爾類型
對象(object)
看得到,摸得着,特征具體事物
//封裝//繼承//多態
1屬性(特征)
2方法(功能)
創建對象
var 變量 = new Object()
var xw=new Object();
xw.name="小王";
xw.age=18;
xw.shengao=180;
//功能 函數(方法)
xw.say=function() {
alert("你好");}
console.log(xw.name+xw.age+xw.shengao);
通過字面量創建對象
var xw={
name:"小王",
age:18,
shengao:180};
數組(array)
undefined類型
如果一個變量的值是unddefined或者定義了一個變量沒有給該變量賦值。那么該變量的數據類型就是undefined。
例子:變量在沒有賦值的情況下,那么該變量的默認值就是undefined,對應的數據類型undefined類型。
例子var = 1
var n2
alert(n2);
比較運算符
大於 >
小於 <
等於 ==或者=== 一個=屬於賦值運算符
不等於 !==
大於等於 =>
小於等於 <=
注意:1通過比較運算符得到的是一個布爾類型的結果
2一般情況下true代表正確的(條件成立),false代表錯誤的(條件不成立)
算數運算符
加 +
(1如果是數字類型的變量相加,最后結果也是數字類型
2如果是非數字類型的變量相加,最后的結果是字符串【加號起到的作用是連接作用】)
減 -
(1如果是數字類型變量相減,最后的結果是數字類型
2如果是數字的字符串相減,最后的結果是數字【由於:隱式數據類型轉化】
3如果是非數字的字符串相減,最后得到的結果是NaN【NaN:not a number】)
乘 *
除 /
(1如果是數字類型的變量相除,最后的結果是數字類型
2如果除數是0,得到的結果是無窮大的值infinite)
取余 %
()優先級
數據類型判斷
typeof(變量)===>用alert(typeof(X));來確定結果是什么數據類型
注意:1如果一個變量的值是NaN,那么該變量的數據類型就是number類型。
2如果一個變量的值是infinity,那么該變量的數據類型是number類型。
3如果一個變量的值是undefined,那么該變量的數據類型是undefined類型。
isNaN()判斷是不是一個數字
新內容學習
1-Maht對象
Math.ceil(x) 對數字進行向上舍入(天花板函數)
注意:1該方法返回的是一個大於當前數字,並且與它接近的一個整數。
2如果當前數字是一個整數,那么返回的就是當前數字本身
Math.floor(x) 對數字進行向下舍入(地板函數)同天花板函數
Math.abs(x) 返回數字的絕對值
Math.radom() 返回0-1之間的隨機數
注意:該方法不能取到0和1
Math.max(x,y) 返回X和Y之間的最大值
min(x,y)返回最小值
Math.round(x) 返回X的四舍五入值
注意:該方法返回的是一個整數
Math.pow(x,y) 返回X的Y次方
2-數據類型轉換
1隱式轉換
程序在參與運算的過程中,發生的數據轉換
2 顯式轉換(強制轉換)
工程師指定的具體數據類型
將數字類型轉化為字符串類型
1通過變量 .toString()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script type="text/javascript">
var n1=123;
alert(typeof(n1));
//數據類型轉化
n1=n1.toString();
alert(n1);
alert(trpeof(n1));
</script></head>
2通過String()轉化為字符串類型
將toSting行代碼轉化為 n1=String(n1)
字符串類型轉成數字類型
1Number()
特點:轉化為數字類型,保留原來值的內容
<script type="text/javascript"> var n1="123"; n1=Number(n1); alert(n1); alert(typeof(n1));
2pasrInt(x) 特點:轉化為整數,但只能保留整數部分。
3parseFloat(x) 特點:通過該方法可以轉換為數字類型,但是要保留原來的內容。
2如果是非數字的字符串,直接保留數字部分
轉化為布爾類型
Boolean(x) 注意1 數字0,空字符串,NaN,undefined,null轉化為false
2除以上特殊值,轉布爾類型都是true ture是1 0是false是規定
3-邏輯運算符
或運算 ||
注意:通過邏輯運算符要鏈接布爾類型的結果。
與(且)運算 &&
非 !
4-等於逗號運算符
= 賦值 == 相等:只判斷值不判斷數據類型 === 相等:同時判斷值和數據類型 !=不相等
,運算符 var n1=123,n2=123;
5-分支結構(條件判斷)
語法 if(條件表達式){邏輯代碼;}
else{邏輯代碼;}
執行順序:首先進行條件判斷,如果條件成立(true),那么程序執行if語句中的代碼,反之else
6-斷點調試
作用:獲取程序中的執行過程,排查錯誤。
使用:首先運行程序》點擊審查元素》點sources 在瀏覽器中打開代碼點擊html頁面》設置斷點》再次運行程序或者F5
》點擊下一步或者F10
監視變量:1鼠標直接懸停變量 2 右鍵變量 添加監視變量。ADD~~WATCH
7-條件結構嵌套
語法:if(條件表達式){}else if (條件表達式){}else if{} else{}
執行順序:首先進行表達式判斷,如果條件為true那么就立即執行,如果條件為false那么執行else中的代碼
8-三元運算
語法:條件表達式? 代碼1:代碼2;
執行順序:如果條件成立執行代碼1,如果條件不成立執行代碼2
注意:1三元表達式可以嵌套,一般不推薦使用。
var n1=prompt("請輸入一個數字”); //如果用if else寫 if(n1%2==0){ alert("偶數");} else{ alert(“奇數”);}// //用三元運算// n1%2==0?alert("偶數"):alert("奇數");
9-Switch(變量){
case 值1:
代碼例如alert(n1)
break;
case 值2:
代碼
break;}
注意1在Switch語句中,Switch中的變量數據類型必須與case后面的值的數據類型保持一致。
2一般情況下,如果變量表示的不是一個范圍,而是一些具體值,可以考慮使用Switch結構
簡寫方式
switch(fname){ case"2": case"4": case"6"; alert("偶數"); break;
變量自增自減
var i =7;
變量自增:i++或者++i 例如J=i++的結果是J=i 如果是J=++i 就是 j==i+1
變量自減
循環
while循環
語法:初始化變量 var a=1;
while(條件表達式){
循環體代碼;}
執行過程:1變量初始化 2開始判斷條件 3 如果條件為true,那么程序會進入循環體代碼 4如果條件為false,那么程序不會進入循環體中循環代碼
do while循環
語法:初始化變量
do{
循環體;}
while(條件表達式)
執行順序:1首先執行do中的代碼 2然后判斷條件是否成立 3如果條件成立,則繼續成立do中的代碼 4如果條件不成立,那么程序結束。
與while循環的區別:在條件不滿足的情況下,do while要比while循環多執行一次。
for循環
語法: for(變量初始化;表達式;變量自增或自減){
循環體代碼;}
執行過程:1變量初始化 2進行表達式判斷 3 如果表達式成立,執行循環體中代碼,然后進行變量自增或自減繼續判斷表達式成立,如果成立則繼續 4 如果表達式不成立,則程序結束
例子:打印直角三角形
for(var i=1;i<=9;i++){ for(var j=1;j<=i;j++){ document.write("*");} document.write("<br>"); }
創建表格
<style type="text/css"> table{width:400px;height:300px;border=collapse;} table,td{border:1px solid red;} <script type="text/javascript"> document.write("<table>"); //創建行tr for(var i=1;i<=4;i++){ document.write("<tr>") for(var j=1;j<=i;j++) document.write("<td></td>") document.write("</tr>") document.write("</table>")
break和continue語句
break:在循環中使用break語句,程序會跳出當前循環
例子:找出1-10中第一個是2的倍數
for(var i=1;i<=10;i++){ for(i%2==0){ alert(i); break; } }
continue
結束本次循環,進入下次循環,continue后面的代碼不會執行
例子:輸出1-10所有數字 不包括6
for(var i=1;i<=10;i++){ if(i==6){ continue; } alert(i); }
數組
數組可以一次保存多個值
定義數組:
*通過對象方式創建數組
var ary=new Array();
直接創建一個數組
var ary=[ ];’
數組賦值:
通過索引(下標)賦值 注意:數組中索引 號(編號)從0開始
var ary=[];
ary[0]=1;
console.log(ary);
數組遍歷:
<script type="text/javascripe">
var ary=[1,2,3,4,5,6,7,8];
alert(ary.length);//獲取數組長度
for(var i=0;i<ary.length;i++){
alert(ary[i]);}
</script>
數組中的方法補充
1 合並兩個數組通過concat,通過該方法返回的是一個新數組,數據類型object
var ary1=[xxxx] ~~~2=[~~~] var ary3=ary1.concat(ary2);
alert(ary3);
2 join 更改數組顯示方式,通過該方法的得到的是一個字符串類型
var ary=[1,2,3];
ary=ary.join("|");
alert(typeof(ary));
