javascript 基本概念
一、在HTML中使用javascript
1.直接是用<script></script>標簽。
2.外部引入
<script type="javascript" src="../app/js/test/test1.js"></script>
一般會放在瀏覽器的底部,讓頁面先加載出來,避免JS文件過多過大時,頁面加載延遲,出現一直空白的情況。
文檔類型
DOCTYPE是Document Type(文檔類型)的簡寫,在頁面中,用來指定頁面所使用的XHTML(或者HTML)的版本。
不同文檔模式主要影響CSS內容的呈現,尤其是瀏覽器對盒模型的解析,但在某些情況下也會影響到JavaScript的解釋執行。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
一般分為標準模式和混雜模式兩種
如果在文檔開始處沒有發現文檔類型聲明,則所有瀏覽器都會默認開啟混雜模式!
總的來講:混雜模式讓IE像IE5,標準模式使用IE7的呈現引擎。
二、js基礎概念
1.語法
好的編程習慣:要註意代碼規範,語句結尾的分號雖然不是必需的,但是加上分號也會在某些情況下增進代碼的性能,因為這樣解析器就不必再花時間推測應該在哪裏插入分號了。
變量:ECMAScript的變量是松散類型的,每個變量僅僅是一個用於保存值得占位符而已。
2. 6種數據類型
Number、String、Boolean、Undefined、Null。 (基本數據類型)
Object (引用數據類型) 其實像array、function也是引用類型
可以用typeof操作符來判斷是哪一種基本數據類型:
var message = "something" alert(typeof message); "string"
提一下基本包裝類型:js提供了三種基本包裝類型:Number、String、Boolean,方便我們來操作這些基本數據。
我們知道,基本類型不是對象,是沒有方法的。實際上每創建一個基本類型的時候,後臺會自動創建一個對應的基本包裝類型的對象,保存在內存中,從而讓我們能調用一些方法來處理這些基本數據。
Number
整型:3 一般用的都是十進制
浮點型:3.14 浮點數值的最高精度是17位 if(0.1 + 0.2 == 0.3){console.log("正確")} 是錯誤的,不要做這樣的測試, 因為計算機底層的二進制算法是不一樣的。
數值轉換: (基本不怎麽會用到,了解一下就好)
var num1 = parseInt(22.5) //22 (不會四舍五入) var num2 = parseInt("123blue") //123 轉換為整型 var num1 = parseFloat(22.5) //22.5 var num2 = parseFloat("098.5") //98.5 轉化為浮點型
操作方法: (這個是重點)
var num = 3.145; num.toFixed(2); //3.15
單體內置對象Math對數字的一些處理方法:
Math.max(3.14,4.14) //4.14 Math.min(3.14,4.14) //3.14 Math.floor(3.54) //3 Math.ceil(3.14) //4 Math.round(3.14) //3 Math.round(3.54) //4 四舍五入取整 Math.random() //0.2345 大於等於0小於1的隨機數 Math.abs(-3) //3
String
字符串是不可變的,也就是說,字符串一旦創建,它們的值就不能改變。要改變某個變量保存的字符串,首先要銷毀原來的字符串,然後再用另一個包含新值得字符串來填充該變量。
操作方法:
var age = 20; age.toString(); //"20" var name = "tom" name.length //3 var string = "abcde"; var result =string.slice(3,4); //d var result1 =string.split(); //["abcde"] var result2 =string.split(‘‘); //["a", "b", "c", "d", "e"]
split分割是按字符串中的什麽符號來分割,如果用空字符串 ("")來分割 ,那麽 string中的每個字符之間都會","來分割。
var result3 =string.replace("c","f"); //"abfde" (可用於替換)
var result4 =string.replace("c",""); //"abde" (可用於刪除)
var result5 =string.charAt("3"); //d
var result6 =string.indexOf("c"); //2
var result7 =string.trim();
var result8 =string.toUpperCase(); var result9 =string.toLowerCase();
Boolean
只有兩個值true和false 像if判斷時就自動執行響應的Boolean
Undefined
Undefined類型只有一個值就是undefined,只有在使用var操作符聲明變量但未對其初始化時,該變量的值才為undefined 註意沒有定義和沒有初始化的區別
Null
Null類型只有一個值就是null,表示一個空對象指針,定義該值的變量是準備保存對象的變量,在保存變量以前初始化為null
由於定義為null值的變量是準備保存object的,因此利用typeof操作符檢索該變量,返回值為object。
如果定義的變量準備在將來用於保存對象,那麽最好變量初始化為null,而不是其它值。
undefined派生自null值,因此undefined==null; //true
javascript 基本概念