在我使用對象數組作為函數參數的時候,肯定是會報錯的。
可是,當我使用JSON.stringify()進行轉換為字符串的時候,再從函數體里面使用JSON.parse()方法轉換回來的時候,不知道為什么會報錯。特別我有一點不明白的是,當我把轉換得到的字符串作為參數繼續在函數體內作為另一個函數作為參數的時候,行不通,肯定報錯。
vscode提示我的代碼竟然會拼寫錯誤?!這個比如document他竟然給我補全的是dcoument!!
一開始我根本想不到是拼寫錯誤,怎么一直提示我這個錯誤,最后才發現是這個拼寫錯誤的問題。浪費我好長時間改來改去,也怪自己沒有仔細看報錯。
也是沒看報錯的原因,是我的失誤,后來了解到他有==和===的區別,貌似沒有equals方法。
我說的是不同js文件中的哦。
就是從a.js中調用b.js中的函數b();然后傳入a.js中的對象數組arr,也就是b(arr);
#記錄我的生活#
如這樣一個地址鏈接 a.html?b=1,如果我們想把它rewrite成 c.html?d=1,起初我是想通過這樣的寫法來匹配url中的問號:
RewriteRule ^a\.html?b=([0-9]+)$ /c.html?d= [L,NC]
試驗證明這樣是不行的。
我嘗試過很多種方式來匹配問號,比如: ?, \?, [?], [?]{1,1}, [\?] ,都不好用。
原因在于我錯誤的理解了htaccess URL Rewrite的匹配工作原理。請看下圖:
RewriteRule中的 Pattern 部分并不是指的整個URL,而是單純的問號前面的部分,而且不包含域名(也不包含最前面的一個/)。
為了便于理解,我暫且把問號前面的部分叫:問前地址,問號后面的部分叫:參數部分。
如果 Pattern 規則能匹配問前地址,則整個地址里的問前地址部分就會被 Substitution 替換掉,原地址后面的參數部分不變。
如果 Substitution 里含有問號,也就是說它本身帶了參數,則拋棄原有地址后面的參數,使用 Substitution 里的參數。
總之,Pattern 部分里是沒有問號的。它指的是問號前面、域名后面的那部分地址。
如果我們想在htaccess URL Rewrite里校驗參數部分,有什么辦法?可以使用 %{QUERY_STRING} 內置變量。
RewriteCond %{QUERY_STRING} b=([0-9]+) [NC]
RewriteRule ^a\.html$ /c.html?d=%1 [L,NC]
注意,RewriteCond 里的正則表達式捕捉數據要通過 % 符號獲取向后引用。 而 RewriteRule 里的則需要使用 $ 符號獲取。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。