JAVASCRIPT入門 之 面向對象+匿名函數

/*
            JS字符串轉移符: \t    \n    \'   \"   \\
            \t : 製表符
            \n : 換行符
            \' : 在字符串中輸出  單引號
            \" : 在字符串中輸出  雙引號
            \\ : 在字符串中顯示  單斜槓
            JS數據類型
            基本數據類型: Boolean  布爾     Number  數字      Stirng  字符串      Undefined   未定義     Null  空對象   
            引用數據類型: Object 對象類型
            JS中 可以動態的給一個對象或應用類型添加屬性,但不可以給基本數據類型添加屬性,實例一、實例二
            JS中 == 和 === 的區別,實例三
                 ==     是隻判斷 " 值 "
                 ===    先判斷類型是否一致,然後判斷值
        */
// 實例一、錯誤的添加屬性
var s = "ni hao a";
s.content = "wo bu hao!";
console.log(s.content);// 結果:undefined
// 實例二、正確的添加屬性
var obj = new Object();
obj.content = "obj的內容"
console.log(obj.content) // 結果:obj的內容
//實例三
var a = 123;
var b = "123";
if (a == b) {
    console.log("a和b是相等的......");
} else {
    console.log("a和b是不相等的......");
}//運行結果: a和b是相等的......       


if (a === b) {
    console.log("a和b是相等的......");
} else {
    console.log("a和b是不相等的......");
}//運行結果:a和b是不相等的......





/*
    JS匿名函數:不給方法名字的方法就是匿名函數        
*/
//第一種寫法
var fi = function (a, b) { return a + b; };//類似於C#中的委託
fi(1, 2);
//應用 document.getElementById("con").click = function () { };        
//第二種寫法
(function (a, b) {
    var c = a + b;
    alert(c);
})(1, 2);
//第三種寫法(這種形式的匿名函數執行速度最慢,因爲需要解析字符串,所以不推薦使用)
var fi = new Function("a", "return a+10");
alert(fi(5));//執行結果15







/*
    JS面向對象 1
    函數==類
    對象:首字母大寫
    方法:首字母大寫
*/
function Person() {
};
// new 對象
var a = new Person();
//動態添加屬性
a.name = "張三";
a.age = 18;
a.sex = "男";
//動態添加方法
a.seaHi = function () {
    alert("我的名字叫" + a.name + ",我現在的年齡" + a.age + "歲");
}
alert(a.name);
a.seaHi();
/*
    JS面向對象 2
    閉包形式的面向對象
    一個函數內部嵌套一個函數叫閉包,在內部函數可以使用外部函數的變量
    function B(c_name,c_age){ } 可以看做是聲明的構造函數, name、age 是動態添加的屬性
    var b = new B("張三", 22);
    調用時 new 不能丟棄,否則就變成調用函數了, new相當於創建了函數的一個實例            
*/
function Person(c_name, c_age) {
    this.name = c_name;
    this.age = c_age;
    this.sex = "男";
    this.seaHi = function () {
        alert("我叫" + this.name + ",性別" + this.sex + ",今年" + this.age + "歲");
    };
}
var b = new Person("張三", 22);
alert(b.name);
b.seaHi();


// JS中arguments的應用(arguments: 參數集合), 實例四:
function add(number) {
    alert(number); //運行結果
    alert(arguments.length);//運行結果 4
}
add(1, 2, 3, 4);
發佈了36 篇原創文章 · 獲贊 12 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章