石建 | Fat Mind

          Js 基礎知識

          1.變量類型
            - undefined
            - null
            - string
                  - == 與 === 區別
            - number
            - boolean
            - string、number、boolean均有對應的 '對象類'
          2.函數
            - 定義函數
                  - function 關鍵字
                  - 參數(見例子),arguments
                  - 函數內變量聲明,var區別
            - 作用域
                  - 鏈式結構(子函數可以看見父函數的變量)
            - 匿名函數
                - 使用場景(非復用場景,如:jsonp回調函數)
                - this特征
          例子:
          var add = function(x) {
              return x++;

          }
          add(1,2,3); // 參數可以隨意多個,類似Java中的(int x ...)

          var fn = function(name, pass) {
              alert(name);
              alert(pass);
          };
          fn("hello","1234",5); // 按照傳遞的順序排列


          var name = "windows";
          var fn = function() {
              var name 
          = "hello";
              alert(
          this.name);
          }
          fn(); // windows,this在匿名函數內部是指向windows范圍

          var name = "windows";
          var fn = function() {
              name 
          = "hello";
              alert(
          this.name);
          }
          fn(); // 因函數內部變量name未聲明為var,則屬于全局變量,且this指向windows,則為'hello'

          function add(a) {
              return ++a;
          }
          var fn = function(x,add){
              return add(x);
          }
          fn(1, add);  // 函數作為參數

          3.閉包  
          http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html 【good】
          其它語言閉包概念 http://www.ibm.com/developerworks/cn/linux/l-cn-closure/

          4.對象
              - new Object()
              – 對象字面量
              – 構造函數
              - 上述操作,經歷的步驟
                  –創建新對象
                  –將構造方法的作用域賦給新對象(new 操作符)
                  –為對象添加屬性, 方法
                  –返回該對象

          var obj = new Object();  // new Object方式
          obj.name = 'zhangsan';

          var obj = {                   // 字面常量方式,定義對象
              name : 'zhangsan',
              showName : function (){
                  alert(this.name);
              }
          };
          alert(obj.showName());
          function Person(name) { // 構造函數
              this.name = name;
              this.showName = function(){
                  return this.name; }
              };
          var obj = new Person("zhangsan"); // 必須用 new 關鍵,否則等于調用一個普通函數
          obj.showName();
          alert(obj.name);


          資料:內部培訓ppt 

          posted on 2012-05-20 13:50 石建 | Fat Mind 閱讀(270) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          What 、How、Why,從細節中尋找不斷的成長點
          主站蜘蛛池模板: 信阳市| 阿克| 西青区| 临武县| 曲沃县| 老河口市| 肃北| 泗阳县| 青田县| 晋江市| 佳木斯市| 厦门市| 富锦市| 顺义区| 刚察县| 宝鸡市| 德州市| 忻城县| 桦川县| 塔城市| 名山县| 新干县| 雅安市| 怀宁县| 同德县| 萍乡市| 观塘区| 舟山市| 林芝县| 阿拉善左旗| 宁河县| 灵丘县| 常德市| 晋宁县| 三原县| 扎囊县| 昭觉县| 万山特区| 临沧市| 泸州市| 阳江市|