JavaScript 的語言設計有哪些缺陷?

時間 2021-05-08 18:49:24

1樓:迷途書童

Object instanceof Function // true

Function instanceof Object // true

你中有我,我中有你,理解起來很費勁

2樓:

Function.constructor ===Function.constructor.constructor......

delete global

3樓:

Single thread, stupid call back. Call back hell. Async never works perfectly.

4樓:小光

這麼多程式語言,本身都有其長處還短板,更何況在這麼多的程式語言下,加上程式設計師的天生麗質,必出現互相鄙視。所以遇到這樣的問題,集體開罵就好

5樓:龍騰道默默地

目前js(es5版本)的缺點,

正是es6版本增進的部分。

我覺得其中最實用的是反引號包裹的多行字串。

補充:隱式型別轉換領會了.toString和.

valueOf方法後簡直是華彩!否則怎麼模擬實現自己根據業務需要發明的自定義新型別變數!!完全想不出來!!!

而正因為陣列只是一種物件,因此我們完全可以發明任何一種物件!

去他媽執行效率,生命僵死之處,必有法則堆積——尼采

6樓:zeg

跟php比一些很不方便的地方……

字串處理(引號只有兩種換行必須escape 連線字串和加法都是加號正則弱雞等等……

容錯處理(undefined index神煩沒sleep機制(再簡單的東西也只能寫非同步……亂引用或賦值不可控 (字串和數字只有複製 array只有引用

7樓:jilen

["10", "10", "10", "10"].map(parseInt)

> Array [ 10, NaN, 2, 3 ]WTF....

摘自 Hands-on Scala.js

8樓:梁春日

1. 沒有塊作用域, 舉例來說

function

foo()

// a變成2了

}2. for in ...支援陣列, 舉例來說var a = [1, 2, 3];

a.x = "wtf";

for (var i in a) console.log(a[i]); // 1 2 3 wtf

3. 不用var也能定義變數, 不過現在可以"use strict"了

4. ==和===, 不過原因還是它型別系統太弱5. 其他, 太多了說不完

9樓:尚春

準確的說法應該是 ECMAScript 的語言設計有什麼問題。

- 正則不支援向後環視

- 不支援運算子過載

- new Function 和 eval 詭異的作用域- 非同步語言所帶來的 debug 困難

10樓:魯塔弗

1.slice很弱

2. foreach 缺乏遍歷list的能力,只能老實的用for(var i=0;i<...)

3. sort的lambda 函式很奇葩,隨手一寫基本上都是錯的優點是:

1.閉包很爽快

2.容錯性好 if(obj.x)即便obj沒有x的屬性,也不會報錯

JavaScript 是最好的程式語言嗎?

黑夜的眼睛 其他的語言給我感覺剛誕生的時候就是乙個完整的結構,後續都是在打補丁。學js的時候,給我感覺這個語言剛誕生的時候只算乙個補丁,後續是在這個補丁上搭建乙個完整結構。 小手冰涼9am 哪有什麼最好的語言,寫的舒不舒服全看個人習慣,我是受不了js,能吐槽的地方太多了 對於我這個喜歡C 的人來說 ...

JavaScript語言如何實現等待函式值為真的操作?

navegador 如果你不介意真實阻塞,那使用Atomic.wait,這個喚醒比較麻煩,只能從另乙個worker 喚醒。這個是真實掛起阻塞的 但是不是while那種佔CPU的阻塞 suooq 我怎麼理解你這個問題?我分析下 函式值指的是返回值 獲取函式返回值只有呼叫它 等待值為真,意思是無限制呼叫...

如何看待「JavaScript等語言都是垃圾」的言論

徐成 可以快速開發,適合天天改需求 可以寫出很多bug,適合天天修bug 可以造輪子,一天造乙個。於是很多人就有了可以幹的事情。要是一下子把程式寫的完美了,程式設計師就可以下崗了。 已登出 js的設計的時候就是為了簡單,不是為了粉絲們所謂的原型繼承理念。它遲早會被淘汰。為什麼js版本不斷公升級?正因...