在我使用对象数组作为函数参数的时候,肯定是会报错的。
可是,当我使用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小时内与您取得联系。