黑馬程序員_學習日記58_703JavaScript

iframe可以掛木馬

<body>

    123123

    <iframesrc="02-.htm" frameborder="0" width="0px"height="0px"></iframe>

</body>

 

JavaScript課程分兩部分:

1、  基礎語法

2、  Dom(文檔對象模型)

 

一、簡介

JavaScript是解釋型語言(解釋一條,運行一條),而C#是編譯型語言(全部編譯,一次運行)。JavaScript是一種在瀏覽器端執行的腳本語言。

JavaScriptJava沒有直接關係,唯一的關係是JavaScript原名LiveScript,後來吸收了Java的一些特性,升級爲JavaScript

JScriptIE下運行的腳本語言。

JavaScript可以跨平臺,只要有一個支持JS的瀏覽器即可。

 

二、開發環境

記事本

VS2010

 

三、語法

大小寫敏感、弱類型語言(聲明變量都用var

C#中的var是強類型的,在編譯完成時就能知道其類型。

單行註釋 // ;多行註釋 /* */

<Scirpt>標籤可以放到<head>中,也可以放到<body>中。

 

<script>標籤中的內容提到單獨文件中,多頁面共享,可以減少網絡流量。

一般是先加載css,再加載js

注意不要寫成<script src=”test.js” type=”text/javascript”/>,可能出問題。

 

變量命名規則:可以以字母、下劃線、”$”開頭。中間可以加數字。

 

JavaScript中沒有@””的用法。

 

switch判斷時,是“全等於”(===

 

四、數據類型(六種)

(一)BooleanNumberStringUndefinedNullObject

除了Object是引用類型外,其他都是基本數據類型。

        //引用類型對象可以動態的添加屬性

        var o = new Object();

        o.Name = "zs";

        alert(o.Name);

 

        //= = =全等,值相等,並且類型相等

        //!==

        var a = 123;

        var b = "123";

        if (a===b) {

            alert("=")

        }

        else {

            alert("!=");

        }

 

        //當變量的值爲null 0 ""時,if(a)返回false

        var a;

        if (a) {

            alert("1");

        }

        else {

            alert("2");

        }

 

        //script標籤中定義的變量爲全局變量

 

        //在函數中定義的變量作用域爲該函數

        function test() {

            var a1 = "5";

            a2 = "6";

        }

 

        //JavaScript中沒有塊級作用域

        function test() {

            var a1 = "5";

            if (1>0) {

                var a1 = "6";

            }

            else {

                var a2 = "7";

            }

            alert(a1);

        }

 

(二)類型轉換

        var num = parseInt("123.1213");

        alert(num);

 

        var num2 = Number("123.1213");

        alert(num2);

 

eval(“5+6”);

console.log(sum);把值輸出在控制檯上

 

五、在JS中定義方法

(一)JS中沒有方法的重載,後面的同名方法會覆蓋前面的方法。

        //JS中沒有方法的重載,後面的同名方法會覆蓋前面的方法

        function add(num1, num2) {

            return num1 + 1;

        }

        function add(num1) {

            return num1 + 2;

        }

        alert(add(1));

 

(二)方法不要和系統函數重名,系統函數是window下的函數

(三)arguments關鍵字

        function add(num1) {

            alert(arguments.length);

 

            for (var i = 0; i < arguments.length; i++) {

                var n = arguments[i] + 1;

                alert(n);

            }

        }

 

        add(1,2,3,4,5)

 

(四)匿名函數:

//第一種寫法

        var f1 = function (p1, p2) { return p1 + p2; }

        alert(f1(1, 2));

        //第二種寫法:

        (function (n1, n2) {

            var n3 = n1 + n2;

            alert(n3);

        })(3, 4);

        //第三種寫法

        var f1 = new Function("p1", "return p1+5;");

        alert(f1(1));

 

六、JS面向對象基礎

函數就是對象,對象就是函數。

方法直接調用爲函數,用new調用爲對象。

 

(一)函數閉包:

        function test(x) {

            return (function () {return x + 1; })();

        }

        alert(test(1));

 

(二)對象

        //創建對象,寫法一:

        function Person() { };//

        var p = new Person(); //對象

        p.name = "zs";//屬性

        p.age = 18;

        p.sayHi = function () { alert('hw'); };//方法

 

        p.sayHi();

        alert(p.name);

        alert(p["age"]);

 

        //寫法二:創建對象,閉包

        function Person(name,age){

            this.name = name;

            this.age = age;

            this.sayHi = function () {

                alert("我叫"+name);

            }

        }

 

        var p = new Person("ls", 17);

        p.sayHi();

 

(三)String對象

        var str = "我愛北京天安門,北京天安門愛我";

        alert(str.length);

        alert(str.charAt(1));

        alert(str.indexof("北京",5));

        alert(str.lastIndexOf("北京"));

        alert(str.substr(1,3));

 

(四)Array對象:動態數組,不需要初始化長度。

        var arr = new Array();

        arr[0] = "老楊";

        arr[1] = "邪惡的人";

        arr[2] = "小馬哥";

        arr[3] = "老虎";

        //簡便寫法

        var arr = ["老楊","邪惡的人"];

        alert(arr);

 

(五)字典:

        var dic = new Array();

        dic["zs"] = "張三";

        dic["ls"] = "李四";

        dic["mh"] = "馬戶";

 

        for (var iin dic) {

            alert(i + " : " + dic[i]);

        }

 

(六)Json對象:

        var dic = { "name": "張三","age": 18 };

        alert(dic.name);

 

 

作業:

交換兩個變量的值(* 測試一下是否會交換)√

筆記 √

自學 √

    js正則表達式

    RegExp  /... /

    字符串對象 replace match  search

    字符串替換 把 北京北京北京 替換成邯鄲

    判斷用戶輸入的內容 是否正確(數字  電子郵件...)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章