在HTML中使用javascript
剛開始入門的時候覺得關于應用以及在html中只用javascript很簡單,不需要進行學習。我又開始重溫了一下紅寶書,覺得還是有必要進行學習的。這是一個筆記!
script 元素插入有多種方式
屬性 | 使用方式 |
---|---|
async | 延遲腳本,在網頁完全解析后運行 |
charst | 指定字符集,會忽略它的值 |
defer | 會立即下載,但延遲進行執行 |
language | 在大多數瀏覽器中已經廢棄 |
type | 默認為txt/javascript |
src | 表示要執行的外部文文件 |
javascript的代碼是由上至下進行執行的
當我們需要在js代碼中插入,script的時候,需要使用到轉義字符
<script>function fun(){alert("</script>")}
</script>
標簽的位置
js代碼適用于放置于body下面。 因為瀏覽器是在遇到body才開始呈現頁面的。
嚴格模式
關于嚴格模式,我了解的不多。
嚴格模式定義了一種不同的解析與執行模型,一些不確定以及不安全的行為會進行報錯。
" use strict "
我需要在后面理解一下。
關鍵字的保留
不需要多記,例如:
while do break 之類的
變量
var 為定義一個變量,在執行過后會進行銷毀
具體有局部變量和全局變量,我想后面需要談一下自己的看法
數據類型
ECMAScipt 一共有5中簡單的數據類型:
使用typeof可能返回字符串》Undefined 未定義
Null 在 typeof 下不會出現
Boolean 布爾值
Number 不出現
String 不出現
以及一種復雜類型 Object 如果這個值是對象或Null
function 返回函數
Undefined
只有一個值,使用var聲明變量但未對他進行初始化 ,則是Undefined
在為聲明的情況下會報錯,不會得到Undefined
var message;
alert(message == Undefined); -> (true)
alert(age); ->錯誤
Boolean
沒搞懂
Number
在算術計算是,所有八進制和十六進制表示的數值都將轉換為十六進制
浮點數不會相等,不能機械能比較
NaN
即非數值
他定義了一個函數: isNaN -> 確定參數是否" 不是數值 "
他會嘗試轉換數值
例:
alert(isNaN(NaN)); //ture
alert(isNaN("10")); //flase
alert(isNaN(bulue)); //不能轉換為數值
數值轉換 :
布爾值 true 和 false 會分別轉換為1 和 0
null // 0; Undefind // NaN
一般前導零會忽略
var num1 = Number("hello") //NaN
var num2 = Number("") //0
var num2 = Number("001100") //11
解析
parseInt() 解析為整數 , 不提供八進制的解析 , 但是可以指定解析
parseInt("1234NUM") // 1234
parseInt("0XAF",16) //175
parseFloat() 解析為浮點數。
string類型
字符字面量 例如 \n
轉換字符串
toString()
var age = 1;
var num = age.toString(); //"1"
var found = true;
var Found = found.toString(); // "true"
如果轉換的值是 Null或者 Undefind的情況下,可以使用String();
var value = "";
alert(String(value)); //"Undefind"
Object 類型
可以添加屬性或者自定義對象
var obj = new Object();
2017.10.12