be a geek-從零開始學編程三:無處不在的javascript 2

來源:互聯網
上載者:User

無處不在的Javascript

Javascript現在已經無處不在了,也許你正開啟的某個網站他可能是node.js+json+javascript+mustache.js完成的,雖然你還沒理解上面那些是什麼,也正是因為你不理解才需要去學習更多的東西。但是Javascript已經無處不在了,可能會在你手機上的某個app裡,在你瀏覽的網頁裡,在你IDE中的某個進程中啟動並執行。

從數學出發

讓我們回到第一章講述的小明的問題,從實際問題下手編程,更容易學會編程。小學時代的數學題最喜歡這樣子了——某商店裡的糖一個5塊錢,小明買了3個糖,小明一共花了多少錢的問題。在編程方面,也許我們還算是小學生。最直接的方法就是直接計算3x5=?

document.write(3*5);

document.write實際也我們可以理解為輸出,也就是往頁面裡寫入3*5的結果,在有雙引號的情況下會輸出字串。我們便會在瀏覽器上看到15,這便是一個好的開始,也是一個不好的開始。(轉載保留:be a geek 3:無處不在的javascript 2)

設計和編程

對於我們的實際問題如果總是止於所要的結果,很多年之後,我們成為了code monkey。對這個問題進行設計一次,所謂的設計有些時候會把簡單的問題複雜化,有些時候會使以後的擴充更加簡單。這一天因為這家商店的糖價格太高了,於是店長將價格降為了4塊錢。

document.write(3*4);

於是我們又得到了我們的結果,但是下次我們看到這些代碼的時候沒有分清楚哪個是糖的數量,哪個是價格,於是我們重新設計了程式

tang=4;num=3;document.write(tang*num);

這才能叫得上是程式設計,或許你注意到了";"這個符號的存在,我想說的是這是另外一個標準,我們不得不去遵守,也不得不去fuck。

函數

記得剛開始學三角函數的時候,我們會寫

sin 30=0.5

而我們的函數也是類似於此,換句話說,因為很多搞電腦的先驅都學好了數學,都把數學世界的規律帶到了電腦世界,所以我們的函數也是類似於此,讓我們做一個簡單的開始。

function hello(){    return document.write("hello,world");}hello();

當我第一次看到函數的時候,有些小激動終於出現了。我們寫了一個叫hello的函數,它返回了往頁面中寫入hello,world的方法,然後我們調用了hello這個函數,於是頁面上有了hello,world。

function sin(degree){    return document.write(Math.sin(degree));}sin(30);

在這裡degree稱之為變數,也就是可以改變的量。 於是輸出了-0.9880316240928602,而不是0.5,因為這裡用的是弧度制,而不是角度制。

sin(30)

的輸出結果有點類似於sin 30。寫括弧的目的在於,括弧是為了方便解析,這個在不同的語言中可能是不一樣的,比如在ruby中我們可以直接用類似於數學中的表達:

2.0.0-p353 :004 > Math.sin 30=> -0.98803162409286182.0.0-p353 :005 >

我們可以在函數中傳入多個變數,於是我們再回到小明的問題,就會這樣去寫代碼。

function calc(tang,num){    result=tang*num;    document.write(result);}calc(3,4);

但是從某種程度上來說,我們的calc做了計算的事又做了輸出的事,總的來說設計上有些不好

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.