一、js文件
js 三大部分 ECMAScript、DOM、BOM
如何引入 js?
1、頁面內嵌<script></script>
標籤,寫 head 裏面也行,寫 body 裏面也行
例
<body>
<script type="text/javascript"> //告訴瀏覽器我們是 js
</script>
</body>
2、外部 js 文件,引入<script src=“location”></script>
例如:以 lesson.js 保存文件,再引入到 html 中
爲符合 web 標準(w3c 標準中的一項)結構(html)、行爲(js)、樣式(css)相分離,通常會採用外部引入。
一個文件中可以包括多個 css,js——不混用
特殊寫頁面,大部分寫在外部——不混用
如果同時寫了內部的 js 和外部的 js,那麼是外部的 js 文件顯示出來。
二、js基本語法
1、變量(variable)
HTML,css 不是編程語言,是計算機語言,編程語言需要有變量和函數
變量是存放東西,方便後續使用的框
1、變量聲明
1)聲明、賦值分解
var a; 這個叫變量聲明。我們向系統中申請了 var 這個框,命名叫 a 給 a 賦值 100,寫作 a =100,這裏不是等號是賦值
var a ;a =100;可以簡化寫成 var a=100;
2)單一 var 聲明法
var a,b,c,d;————單一 var 模式
var a=100;
var b=200;
var c=300;
var d=400;
就等於
var a,b,c,d;
a=100;
b=100;
c=100;
d=100;
開發標準
var a=10,
b=20,
c=30,
d=40;
如寫做:var a = 10;a=20;那麼後面的 20 就會覆蓋掉前面的 10
2、命名規則(用接近的英文單詞)———— 起變量名一定要以英文語義化
1)變量名必須以英文字母、下劃線、$ 開頭
2)變量名可以包括英文字母、下劃線、$、數字
3)不可以用系統的關鍵字、保留字作爲變量名
三、基本語法
下面是變量,例:
var a = 10;
var b = 20;
var c;
c = a + b;
先運算等號右邊的 a+b,運算完後,再賦值給左邊 c
先取值,再賦值
運算大於賦值的優先級
js 是動態語言,動態語言基本上都是解釋性語言,解釋性語言基本上都是腳本語言
js 是浮點型語言(帶小數點)
1、值類型(數據類型)
1)不可改變的原始值(棧數據)棧 stack
Number,String,Boolean,undefined,null
已經放進去的值不可改變,只會改房間編號爲 null(硬盤原理)
Number 數字,例 var a = 123;
String 字符串,語言放雙引號裏,例 var a=”語言”
,““是空串
Boolean 布爾數字,就兩個值,false,true
undefined 是沒有定義的,表示還沒賦值,僅一個值 underfined
null 代表空,佔位用,用空值來覆蓋
例:
var a =10;
var b = a;
a = 20;
document.write(b);
答案:10
所以:原始值是我把一個值放到另一個值裏面,改了第一個值,第二個值不變
2)引用值(堆數據)大致上放堆 heap 裏面
array 數組, Object, function … data,RegExp 正則
var arr = [1,2,3,4,5,false,”abc”]; //這是數組
例:
var arr = [1];
var arr1 = arr;
arr.push(2);
document.write(arr1);
答案:arr 是 1,2。arr1 是 1,2
所以:引用值是把第一個值放到第二個值裏面,改第一個值,第二個值也改
js 由值決定類型。原始值和引用值唯一的不同是賦值形式不同
下面可以看一下堆棧的詳解
2、js語句基本規則
1、語句後面要用分號結束 “;”
但 function test(){},for(){},if(){}後面都不用加分號
2、js 語法錯誤會引發後續代碼終止,但不會影響其它 js 代碼塊錯誤分爲兩種
1)低級錯誤(語法解析錯誤),不能寫中文
2)邏輯錯誤(標準錯誤,情有可原,錯的那個執行不了)