摘要:今天遇到了一個比較困惑的問題,當我在寫閉包的時候為對象的屬性寫的時候發現了一個問題,函數中對象的屬性并不能直接使用參數,被直接視為中的為的如后來想到了用的方法測試發現等同于推測也就等同于那么為對象的屬性剛剛看到這位朋友的提醒,為了不因為我的
今天遇到了一個比較困惑的問題,當我在寫閉包的時候
var t = {test :{color : "red"}} function setTable(n){ //n為對象的屬性 return { color : t.n.color } } var test = setTable("test");//color is not defined
寫的時候發現了一個問題,函數中對象的屬性并不能直接使用參數,t.n被直接視為 t 中的 value 為 "n"的 key ,如:
console.log(t.n) //undefined s = { n : 1} console.log(s.n)//1
后來想到了用 eval()的方法,
console.log(eval("t"))//{test{color:red}}
測試發現:eval("t") 等同于 t;
推測 eval("t."+"test")也就等同于 t.test;
那么
function setTable(n){ //n為對象的屬性 var s = eval("t."+n); return { color : s.color } } var test= setTable("test");//{color : red}
剛剛看到 hughw 這位朋友的提醒,為了不因為我的思路而誤導大家,借用他說的方法將代碼整理出來:
function setTable(n){ //n為對象的屬性 return { color : t[n].color } } var test= setTable("test");//{color : red}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84763.html
摘要:在父頁面中文章詳情模板添加需要執行錨點拼接的函數新增函數,處理二級回復去除尾部符號刷新并定位到錨點函數中運用了的三元運算符,翻譯成人話就是如果成立則返回,如果不成立就返回。 老讀者注意:上一章消息通知有個bug,即發給管理員的notify必須移動到new_comment.save()的后面,否則會導致action_object存儲為NULL,并且導致本章的html拼接錨點失效。原文已...
摘要:概述是一種跨域通信的手段,它的原理其實很簡單首先是利用標簽的屬性來實現跨域。可靠的實現添加回調函數拼接傳遞的是一個匿名的回調函數,要執行的話,暴露為一個全局方法出錯處理使用示例來源個人博客 1. 概述 jsonp是一種跨域通信的手段,它的原理其實很簡單: 首先是利用script標簽的src屬性來實現跨域。 通過將前端方法作為參數傳遞到服務器端,然后由服務器端注入參數之后再返回,實現服...
摘要:然后,生成的完整的字符串大致如下以上是一系列通用的鍵值轉換方法就是的主體函數其他屬性的拼接最后,將字符串傳入構造函數來創建相應的函數。 1. 熟悉的JSON.stringify() 在瀏覽器端或服務端,JSON.stringify()都是我們很常用的方法: 將 JSON object 存儲到 localStorage 中; POST 請求中的 JSON body; 處理響應體中的 ...
摘要:應用的功能這個應用是一個個人簡歷生成器。比較好的教程有這一個。這樣的命名污染問題自然顯而易見。而且發出多次請求也會影響性能。明顯不利于維護。然而我希望能夠不發生變化,因為是在文件的前提下的標簽頁,不能換一個標簽就重建一個。 為什么學習backbone?這是個好問題。在這個前端框架爆炸的年代,比起backbone,對開發來說有更多更好的選擇,react,vue,angular等等。但這些...
閱讀 1459·2021-09-30 09:57
閱讀 1466·2021-09-09 09:33
閱讀 2220·2021-09-04 16:40
閱讀 1792·2021-09-01 10:50
閱讀 3237·2021-09-01 10:31
閱讀 2539·2019-08-30 15:56
閱讀 2970·2019-08-30 15:44
閱讀 3475·2019-08-29 17:29