Java中執行緒池,你真的會用嗎?
我騎著小毛驢,喝著大紅牛哇,哩個啷格里格朗,別問我為什麼這木開心,如果活著不是為了浪蕩那將毫無意義 今天來捋一捋我們平日經常用的instanceof和typeof的一些小問題 typeof: typeof裡面是由一個小坑的 我們今天著重來研究一下這個小坑 假設現在問一個問題 typeof(null) 結果為啥 可能你會覺得他是null 或者是Object ,可能有的同學會說那當然是null了 其實正確答案是Object,那你知道為什麼結果是Object嗎,看到這你可能覺得你怎麼這木囉嗦,不是我囉嗦,是因為學習嘛,不刨根問底就沒意思了 下面我們來說說原因:因為在 JS 的最初版本中,使用的是 32 位系統,為了效能考慮使用低位儲存了變數的型別資訊,000 開頭代表是物件,然而 null 表示為全零,所以將它錯誤的判斷為 object 。 雖然現在的內部型別判斷程式碼已經改變了,但是對於這個 Bug 卻是一直流傳下來 在 ES6 中曾有關於修復此 bug 的提議,提議中稱應該讓 typeof null === 'null',但是該提議被無情的否決了,自此 typeof null 終於不再是一個 bug,而 是一個 feature,並且永遠不會被 修復。 下面是我從網上找的第一版javascript 實現中,判斷型別的程式碼是這麼寫的: 能看懂就看看,看不懂也無所謂,反正我也看不懂 複製程式碼 if (JSVAL_IS_VOID(v)) { // (1) type = JSTYPE_VOID; } else if (JSVAL_IS_OBJECT(v)) { // (2) obj = JSVAL_TO_OBJECT(v); if (obj && (ops = obj->map->ops, ops == &js_ObjectOps ? (clasp = OBJ_GET_CLASS(cx, obj), clasp->call || clasp == &js_FunctionClass) // (3,4) : ops->call != 0)) { // (3) type = JSTYPE_FUNCTION; } else { type = JSTYPE_OBJECT; } } else if (JSVAL_IS_NUMBER(v)) { type = JSTYPE_NUMBER; } else if (JSVAL_IS_STRING(www.ysyl157.com)) { type = JSTYPE_STRING; } else if (JSVAL_IS_BOOLEAN(v)) { type = JSTYPE_BOOLEAN; class Flask(object): def wsgi_app(self, environ, start_response): ctx = self.request_context(environ) ctx.push(www.dasheng178.com/) error = None try: try: response www.mcyllpt.com= self.full_dispatch_request() except Exception as e: error = e response = self.handle_exception(e) except: error = sys.exc_info(www.hjylp178.com)[1] raise return response(environ,www.meiwanyule.cn start_response) finally: if self.should_ignore_error(error): error = None ctx.auto_pop(error) } 複製程式碼 instanceof 下面我們來說一說instanceof,今天我們著重來看一看實現原理 instanceof的實現原理是通過判斷物件的原型鏈中是不是能找到型別的 prototype 下面我們自己來寫一個類似於instanceof的函式 複製程式碼 function instanceof(left, right) { // 獲得型別的原型 let prototype = right.prototype // 獲得物件的原型 left = left.__proto__ // 判斷物件的型別是否等於型別的原型 while (true) { if (left === null) return false if (prototype === left) return true left = left.__proto__ } } 複製程式碼 這木無趣的文章你竟然能看到這裡,說,是不是對我有意思?要是你是女孩子,請聯絡我好吧,我這代養十八至二十五週歲的適齡女孩子,什麼你是男的,那看完抓緊時間gun,等我啥時候 開始搞基了我再通知你 程式碼成就萬世基基沙鎮海 夢想永在凌雲意意氣風發