學習Javascript筆記1 Javascript對象1,javascript筆記

來源:互聯網
上載者:User

學習Javascript筆記1 Javascript對象1,javascript筆記

          以前學過一段時間Js,現在再看,感覺又像是新知識,說明自己對Js掌握的還不是很好(是很不好,從來就沒好過,嘿嘿),在這裡,在溫習一下 

          如果各位大哥大姐不幸看到了,,額 額這隻是自己的筆記。

           在Js裡面 物件導向的思想是絕對很重要的,大家如果看過大神的代碼,就會知道在Js裡面物件導向的思想有多麼重要了

       JavaScript 中的所有事物都是對象:字串(String)、數字(Number)、數組(Array)、日期(Date),等等。

       在 JavaScript 中,對象是擁有屬性和方法的資料。

       屬性和方法

             1、屬性是與對象相關的值。    2、方法是能夠在對象上執行的動作。

             舉例:汽車就是現實生活中的對象。

              汽車的屬性:

              car.name = Fiat           car.model = 500          car.weight = 850kg          car.color = white
              

              汽車的方法:

              car.start()         car.drive()         car.brake()

            在 JavaScript 中,對象是資料(變數),擁有屬性和方法。  聲明一個 JavaScript 變數時:

       var txt = new String("Hello World");
            在這裡,String 對象擁有內建的屬性和方法:txt.length(屬性)     txt.indexOf("World")(方法)

        

      建立 JavaScript 對象           (1)            person=new Object();
      person.firstname="John";
      person.lastname="Doe";
      person.age=50;
      person.eyecolor="blue";          (2)
            person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};

          (3)使用物件建構器         

     function person(firstname,lastname,age,eyecolor){          this.firstname=firstname;          this.lastname=lastname;          this.age=age;          this.eyecolor=eyecolor;      }






 



學習javascript很久了但是沒有系統性的看過一本書,想看一本有總結性的書,哪位可以推薦一下,

javascript權威指南(第六版),可以當做案頭參考手冊,有事沒事翻翻,必備
javascript進階程式設計,反覆研讀,必備
javascript語言精粹,這本書很薄,但是字字千金,一定要看,推薦吧
javascript經典執行個體,可以看看裡面程式是怎麼寫的,好好學習,推薦
javascript模式,和語言精粹差不多,也很薄,有時間就看看吧,推薦
還有就是javascript學得差不多的時候學學架構吧,jquery,node,yui都看看吧,畢竟現在架構用的比較多,jquery基礎教程(圖靈版的)還有鋒利的jquery,兩本書都很不錯。祝你學好javascript,希望採納
 
javascript中的函數與當前對象問題1

1:
從你的代碼來看,
b2隻有在b1內部被調用的到,b3中已經超出了b1的範圍。只有調用b1的時候b2才會被建立,b1運行結束,b2隨即被銷毀。想調用必須把b1寫成類,通過new 建立執行個體 然後再調用。或者
function b1(){
b2 = function(){};

}
b1這樣寫,然後在調用b3之前要先運行一遍b1。
b1();b3();這樣b3才不會報"b2 not function"的錯誤;
但這樣做代碼的邏輯也變了,
總之現在你的代碼中b3中是調不到b2的。

2:
這個寫法很詭異啊,正常的html元素不可能包含stop loop方法,
除非給obj追加這兩個方法(stop、loop),才能這樣調用,這段代碼是使用了架構的代碼吧,使用架構的話也不能這樣綁定事件啊,不是做不到,是不符合JS邏輯,代碼要寫成這樣才能實現:
dd.look = function(){alert('look');}
dd.stop = function(){alert('stop');}
dd.onmouseover = function(){this.look();}
dd.onmouseout = function(){dd.stop();}
如果給obj追加了這2個方法,

this.stop()和obj.stop()效果是一樣的,就是寫法問題,有些人就喜歡用this。

3:
prototype是個 物件類型,prototype 對象中的屬性是被 所有執行個體共用的,特別是一些類的屬性,有些時候(大部分時候)你並不希望 每個執行個體都共用相同的屬性,所以很少在prototype中定義變數值,只是在其中定義方法,方法就應該是共用的。
可以簡寫:
obj.prototype = {
constructor:obj,

方法1:function(){},

方法2:function(){}

……

};
或者你可以研究下with()語句,可以簡化代碼,但是少用為好(with會改變範圍),會混亂代碼的可讀性。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.