be a geek-從零開始學編程:無處不在的Javascript 3

來源:互聯網
上載者:User

無處不在的Javascript

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

重新設計

我們將輸出的工作移到函數的外面,

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

接著我們用一種更有意思的方法來寫這個問題的解決方案

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

看上去更專業了一點點,如果我們只需要計算的時候我們只需要調用calc,如果我們需要輸出的時候我們就調用printResult的方法。

object和函數

我們還沒有說清楚之前我們遇到過的document.write以及Math.sin的文法看上去很奇怪,所以讓我們看看他們到底是什麼,修改app.js為以及內容

document.write(typeof document);document.write(typeof Math);

typeof document會返回document的資料類型,就會發現輸出的結果是

object object

所以我們需要去弄清楚什麼是object。對象的定義是(轉載保留:be a geek 4:無處不在的javascript 3)

無序屬性的集合,其屬性可以包含基本值、對象或者函數。

建立一個object,然後觀察這便是我們接下來要做的

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

我們就有了和document.write一樣的用法,這也是對象的美妙之處,只是這裡的對象只是包含著基本值,因為

typeof story.tang="number"

一個包含對象的對象應該是這樣子的。

store={};store.tang=4;store.num=3;document.writeln(store.tang*store.num);var wall=new Object();wall.store=store;document.write(typeof wall.store);

而我們用到的document.write和上面用到的document.writeln都是屬於這個無序屬性集合中的函數。

下面代碼說的就是這個無序屬性集中中的函數。

var IO=new Object();function print(result){    document.write(result);};IO.print=print;IO.print("a obejct with function");IO.print(typeof IO.print);

我們定義了一個叫IO的對象,聲明對象可以用

var store={};

又或者是

var store=new Object{};

兩者是等價的,但是用後者的可讀性會更好一點,我們定義了一個叫print的函數,他的作用也就是document.write,IO中的print函數是等價於print()函數,這也就是對象和函數之間的一些區別,對象可以包含函數,對象是無序屬性的集合,其屬性可以包含基本值、對象或者函數。

複雜一點的對象應該是下面這樣的一種情況。

var Person={name:"phodal",weight:50,height:166};function dream(){    future;};Person.future=dream;document.write(typeof Person);document.write(Person.future);

而這些會在我們未來的實際編編程中用得更多。

相關文章

聯繫我們

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