javascrip基礎課程-1

---恢復內容開始---javascript

HTML 定義了網頁的內容 CSS 描述了網頁的佈局 JavaScript 網頁的行爲

一種輕量級編程語言html

能夠將javascript(先包含在<script></script>)放置在head或者body當中,也能夠經過外邊引入<script src="url"></script>java

輸出能夠經過彈窗alert()或者寫入文檔document.write(); document.innerHTML = web

註釋://單行註釋或者/**/多行註釋正則表達式

utf8當中的實體https://www.runoob.com/charsets/ref-html-utf8.html編程

代碼塊以左花括號開始,以右花括號結束。json

代碼塊的做用是一併地執行語句序列。數組

在 JavaScript 中,用分號來結束語句是可選的。編程語言

代碼折行輸出ide

document.write("你好 \
世界!");

 

變量名稱:

必須以字母開頭或者可使用$和_ 並且大小寫敏感

 

 

常常會聲明無值的變量。未使用值來聲明的變量,其值其實是 undefined。

var test;//實際上此時test爲undefined 在C++當中此時test應該爲其當前指向空間之前所保留的值

 

 

若是從新聲明 JavaScript 變量,該變量的值不會丟失:

 

var x;               // x 爲 undefined
var x = 5;           // 如今 x 爲數字
var x = "John";      // 如今 x 爲字符串

在定義對象的時候,裏邊的屬性名能夠添加引號業能夠不加,但其實是當作字符串的

var obj = { 'username':"webcyh" } console.log(obj.username); console.log(obj['username']);

Undefined 這個值表示變量不含有值。

能夠經過將變量的值設置爲 null 來清空變量。

 

建立對象方法

func:function(){}

func(){}

函數返回 返回值是可選的

局部變量:

只在函數內部能夠訪問

而且生存期在函數執行完就銷燬

全局變量:

在網頁中的任何地方能夠訪問

並且至於關閉網頁纔會銷燬

非嚴格模式下:

未生命的變量能夠經過delete刪除

沒有生命的變量默認屬於全局變量window 

 

事件

 

 

 

 

 

 

 

 

 

 

 

 

 字符串:

能夠跟數組同樣使用下標的方式訪問

能夠得到長度str.length

字符串也能夠是一個對象

var x = "John"; var y = new String("John"); typeof x // 返回 String
typeof y // 返回 Object 儘可能不要使用字符串對象 ,這樣會拖慢執行速度

字符串方法

 

 

 === 徹底等於 值和類型

 

 typeof [1,2]返回object 數組爲特殊的對象

typeof null 返回object 空對象引用

typeof 一個沒有值的變量會返回 undefined

null 和 undefined 的值相等,但類型不等:

變量置空使用undefined 對象置空使用null

typeof "John"                 // 返回 string 
typeof 3.14                   // 返回 number
typeof NaN                    // 返回 number
typeof false                  // 返回 boolean
typeof [1,2,3,4]              // 返回 object
typeof {name:'John', age:34}  // 返回 object
typeof new Date()             // 返回 object
typeof function () {}         // 返回 function
typeof myCar                  // 返回 undefined (若是 myCar 沒有聲明)
typeof null                   // 返回 object

constructor 屬性返回全部 JavaScript 變量的構造函數。

使用constructor判斷是否爲數組myArray.constructor.toString().indexOf("Array") > -1;

window.String()和Number.toString()均可以轉換爲字符串

 

轉換爲字符串

console.log(typeof String(12+2)); console.log(typeof (12+3).toString());
   console.log(typeof 12);

 

 

 

 Number("12")將字符串轉爲數字 parseInt parseFloat

正則表達式的使用

/正則表達式主體/修飾符(可選)

正則表達式一般應用在在如下兩個方法當中

search() 方法 用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,並返回子串的起始位置。var n = str.search("Runoob");

replace() 方法 用於在字符串中用一些字符替換另外一些字符,或替換一個與正則表達式匹配的子串。 var txt = str.replace(/microsoft/i,"Runoob");

上面的函數說明可使用正則表達式替代上面的字符串參數

修飾符:i不區分大小寫  g全局匹配 返回全部匹配到的字符串 m多行匹配

正則表達式模式

括號表達式

元字符

量詞

var str = "he2ll|o"; console.log(typeof str); console.log(str.constructor);//建立字符串的構造方法
    console.log(str.charAt(1)); console.log(typeof String(12+2)); console.log(typeof (12+3).toString()); console.log(typeof 12); console.log(Boolean(1)); console.log(str.search(/[ho]/im));//     console.log(str.search(/(l|o)/im)); console.log(str.search(/^\d/i));//查找數字開頭的
    //在這裏使用全局搜索仍是會返回第一次找到的位置
    /* [asn]這裏邊任何一個字符 [1-9] 1到9中的任何數字 (x|y)以分割|分開的字符 相似於在[xy]上找 元字符 \d查找數字 \s查找空白字符 \b匹配單詞邊界 \uxxxx查找十六進制 量詞 n+ 匹配至少包含一個 n*匹配零個或者多個n的字符 n?匹配零個或者一個n字符

\w 爲爲字母下劃線和數字
*/

RegExpt對象

 

test()方法也是用於匹配某個正則表達式 若是匹配成功返回true

var patt = /e/; patt.test("The best things in life are free!");

使用exec()

返回匹配的結果

例子

/*是否帶有小數*/
function isDecimal(strValue ) { var  objRegExp= /^\d+\.\d+$/; return objRegExp.test(strValue); } /*校驗是否中文名稱組成 */
function ischina(str) { var reg=/^[\u4E00-\u9FA5]{2,4}$/;   /*定義驗證表達式*/
    return reg.test(str);     /*進行驗證*/ } /*校驗是否全由8位數字組成 */
function isStudentNo(str) { var reg=/^[0-9]{8}$/;   /*定義驗證表達式*/
    return reg.test(str);     /*進行驗證*/ } /*校驗電話碼格式 */
function isTelCode(str) { var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/; return reg.test(str); } /*校驗郵件地址是否合法 */
function IsEmail(str) { var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/; return reg.test(str); }

異常處理

自定義異常

//實現匹配一個字符串當中的全部網址
    try{ if(1){ throw "出現異常"; } }catch(e){ console.log("自定義異常"+e); }finally{ console.log("我就是要執行"); }

斷點

debugger;

變量提高

JavaScript 中,函數及變量的聲明都將被提高到函數的最頂部。

JavaScript 中,變量能夠在使用後聲明,也就是變量能夠先使用再聲明。

 

 

JavaScript 只有聲明的變量會提高,初始化的不會。

 

嚴格模式下不會變量提高

""use strict

var a = 2; var b =4; var c; eval("c=a+b"); console.log(c);
View Code

 

 

 

json 輕量級數據交換語言

全稱:JavaScript Object notation

寫法:

"sites":[ {"name":"Runoob", "url":"www.runoob.com"}, {"name":"Google", "url":"www.google.com"}, {"name":"Taobao", "url":"www.taobao.com"} ]

JSON.parse(text)將其轉換爲js對象

JSON.stringify();將字符串轉換爲json數據

 

 

void 指定要計算一個表達式但沒有返回值

該操做符指定要計算一個表達式可是不返回值

寫法:

void(func) void:func(()) javascript:void(func()) javascript:void func()

href="#"和href="javascript:void(0)"的區別

前者爲錨默認爲href="#top" 這個是會跳轉的

後者爲死連接

 

 

javascript代碼規則

變量名爲駝峯命名法className

全局變量爲大寫 常量也是大寫

運算符要有空格

代碼tab縮進

定義對象的時候須要注意換行

html的後綴名字能夠爲html 和htm

 

函數:

函數不是執行語句因此不須要加分號

在JavaScript當中函數能夠做爲表達式 將函數賦值給一個變量 這樣這個 變量能夠當中函數來使用 注意這裏的函數式匿名函數 並且這個函數式執行表達式 須要使用分號結尾

自調用的函數表達式

(function(){

})()

函數是一個對象 經過funcName.toString()將函數轉換爲字符串

 

 

函數參數

在JavaScript當中 參數默認值爲undefined 或者能夠以下面寫法

function get(x,y){ console.log(x); x = x||1; y = y||2; return x+y; }//在未傳遞值得時候 值爲undefined 在上面的x = x||1;意思是當x爲undefined(false)的時候取後邊的值1
     console.log(get());

在傳遞的參數爲對象的時候變化是雙向傳遞的 也就是裏邊的修改 在外邊也會發生變化

相關文章
相關標籤/搜索