一、什麼是JavaScrip JavaScript是一種動態類型、弱類型、基於原型的客戶端腳本語言。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,在HTML網頁上使用,用來給HTML網頁增加動態功能。 動態: 在運行時確定數據類型,通常變數的類型取決於值的類型 ...
一、什麼是JavaScrip
JavaScript是一種動態類型、弱類型、基於原型的客戶端腳本語言。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,在HTML網頁上使用,用來給HTML網頁增加動態功能。
動態:
在運行時確定數據類型,通常變數的類型取決於值的類型
弱類:
計算時可在不同類型之間,通過隱式轉換得到正確的類型
原型:
新對象繼承對象(模版),將自身的屬性和方法共用給新對
象,模版對象稱為原型
二、JavaScript由三部分組成
ECMAScript(核心)
作為核心,它規定了語言的組成部分:語法、類型、語句、關鍵字、保留字、操作符、對象
DOM(文檔對象模型)
dom把整個頁面映射為一個多層節點樹,開發人員可藉助dom提供的api,輕鬆地刪除、添加、替換或修改任何節點
BOM(瀏覽器對象模型)
支持可以訪問和操作瀏覽器視窗的瀏覽器對象模型,開發人員可以控制瀏覽器顯示的頁面以外的部分
三、JavaScript引入方式
1、在html文件中直接進行代碼的書寫
1 <body> 2 <script> 3 alert('hello world_body內引入') 4 </script> 5 </body>
2、外部引入
把<script>元素放在頁面的<head>元素中
1 <head> 2 <meta charset="UTF-8"> 3 <title>引入方式</title> 4 <script src="my.js"></script> 5 </head>
把<script>元素放在<body>中,放在頁面的內容後面
3、直接寫在標簽內
<h2 onclick="test()">點點我</h2> <h2 onclick="alert('別摸我2')">點我試試看</h2>
<script>
function test(){
alert('別摸我1');}
</script>
四、JavaScript語法
1、區分大小寫:
JS中的一切(變數、函數名、操作符)都區分大小寫
2、標識符:指變數、函數、屬性的名字,或者函數的參數
標識符命名規範:
第一個字元必須是字母、下劃線(_)或美元符號($);
其他字元可以是字母、下劃線、美元符號或數字;
不能含有空格
不能以關鍵字或保留字命名
3、關鍵字
可用於表示控制語句的開始或結束,或用於執行特定操作等。按照規則,關鍵字也是語言保留的,不能用作標識符!
4、保留字(有可能在將來被用作關鍵字來使用)不能用作標識符!
5、變數
JS的變數是鬆散類型的,可以用來保存任何類型的數據。
在JS中,只有一種聲明變數的操作符var,它可以聲明各種類型的數據
六、變數數據類型
1、typeof 運算符
語法:typeof(x) 或 typeof x
使用typeof操作符可能返回下列某個字元串:
undefined---值為定義
boolean---值是布爾值
string---值是字元串
number---值是數值
object---值是對象或null
function---值是函數
函數在js中是對象,不是一種數據類型,但函數有一些特殊屬性,通過typeof操作符來區分函數和其他對象
2、 undefined類型
undefined類型只有一個特殊值為undefined
聲明變數未初始化(賦值)時,這個變數的值就是undefined
示例1:
var a;
alert(a); //undefined alert(b); //報錯
這個結果有其邏輯上的合理性,無論對哪個變數都不能執行真正的操作
3、null類型
null類型只有一個特殊值為null
從邏輯角度來看,null表示空對象指針,所以typeof檢測時返回object。如果變數準備在將來用於保存對象,那麼該變數最好初始化為null。
alert(null == undefined);
實際上,undefined派生自null值的,ECMAScript規定它們的相等性要返回true,但兩者的用途完全不同。
4、boolean類型
boolean類型有兩個字面值:true 和 false
在js中所有類型值都有與這兩個布爾值等價的值
1.特殊值undefined和null -- false
2.數字0和NaN -- false
3.空字元串 -- false
4.所有其他值 -- true
5、 number類型
number類型表示整型和浮點型,基本的數值字面量格式都是十進位。
此外,整數的字面量還可以是八進位和十六進位。
var num1=15; //整數
var num2=1.5; //浮點數
var num3=15.0; //解析為整數15
var num4=070; //八進位56
var num5=0x1f; //十六進位3
NaN即非數值,是number類型中的一個特殊值
NaN用於表示本來要返回一個數值的操作數,結果未返回數值的情況(這樣不會報錯)。
NaN有兩個特點:
1.任何涉及NAN的操作都會返回NaN
2.NaN與任何值都不相等,包括它本身
示例:var a=0/0; var b=parseInt('x123');
6、string類型
string類型用於表示由零個或多個16位unicode字元組成的字元序列,即字元串,由雙引號或單引號表示。
示例:
var str1=‘123’;
var str3=‘你好’;
var str4=‘ ’;//空字元串
7、object類型
JavaScript中對象其實就是一組數據和功能的集合。
示例:
var obj1=[1,2,3];//數組
var obj2={name:'laowang'};//對象
1 <script> 2 var a=3;//數值型number 3 var b=null;//object(空對象) 4 var c='hello';//string 5 var d=true;//boolean 6 var e;//undefined(只聲明未初始化) 7 var f='';//string 8 var g=function(){};//function(函數) 9 console.log(typeof a); 10 console.log(typeof b); 11 console.log(typeof c); 12 console.log(typeof d); 13 console.log(typeof e); 14 console.log(typeof f); 15 console.log(typeof g); 16 </script>
七、操作符
1、邏輯操作符
邏輯非(!)
邏輯與(&&)
邏輯或(||)
2、算數操作符
+ - * / %(求餘) ++ --
3、關係操作符
等於(==)的情況下 只要值相同就返回 true
全等(===)的時候需要值和類型都要匹配才能返回 true
關係操作符返回的是布爾值(true 或 false)
4、條件操作符
5、賦值操作符
6、操作符優先順序
邏輯非——算術操作符——關係操作符——邏輯與 邏輯或——條件操作符——賦值操作符