unity中的js與其說是js,不如說是Unity Script。unity中的js是會經過編譯的,其效能和本地速度差不多。在官方教材《unity 4.x從入門到精通》中unity稱C#,Boo,JS的效能是差不多的。unity中的js指令碼是可以和C#指令碼等值替換的,所以自然也有一大堆資料型別,物件繼承等傳統語言及OOP的概念。不過var speed = 5這麼寫也是可以的,因為編譯器會自動理解成var speed:int = 5。但是其他資料型別比如GameObject、Transform就不行了,必須在宣告變數時指定資料型別。自然,很多標準js中的特性在unity中也不支援,比如高階函式,閉包等。Unity3D中的Math物件叫做Mathf。Unity中的js可以直接呼叫Mono,C#封裝的dll等。Unity中的除錯語句用Debug.Log。每行後面必須有分號。總之,Unity中的js是會在執行前被編譯成原生代碼的。和標準js僅是寫法比較相似,內在是完全不同的。比如js是非阻塞的,而unity中的js是阻塞的;js是動態語言,而unity中的js則是不折不扣的靜態語言。所以前端攻城獅們想要熟練掌握untiy的js的話最好的方法就是多參考官方的js指令碼,相信上手還是很快的,畢竟語法很相似。
unity中的js與其說是js,不如說是Unity Script。unity中的js是會經過編譯的,其效能和本地速度差不多。在官方教材《unity 4.x從入門到精通》中unity稱C#,Boo,JS的效能是差不多的。unity中的js指令碼是可以和C#指令碼等值替換的,所以自然也有一大堆資料型別,物件繼承等傳統語言及OOP的概念。不過var speed = 5這麼寫也是可以的,因為編譯器會自動理解成var speed:int = 5。但是其他資料型別比如GameObject、Transform就不行了,必須在宣告變數時指定資料型別。自然,很多標準js中的特性在unity中也不支援,比如高階函式,閉包等。Unity3D中的Math物件叫做Mathf。Unity中的js可以直接呼叫Mono,C#封裝的dll等。Unity中的除錯語句用Debug.Log。每行後面必須有分號。總之,Unity中的js是會在執行前被編譯成原生代碼的。和標準js僅是寫法比較相似,內在是完全不同的。比如js是非阻塞的,而unity中的js是阻塞的;js是動態語言,而unity中的js則是不折不扣的靜態語言。所以前端攻城獅們想要熟練掌握untiy的js的話最好的方法就是多參考官方的js指令碼,相信上手還是很快的,畢竟語法很相似。