发表于: 2016-09-15 00:46:28
1 1986
今天完成的事:
1.在远近的帮助下搞定了任务5的跨域问题
2.某chrome扩展的第二个功能
明天计划的事:
1.估计只能看看犀牛书
收获:
1.match()和replace()字符串匹配/替换,可配合正则表达式使用。
(match的返回值好像是个对象,好奇怪,看console的输出结果里面一堆属性,index、input什么的)
(还是用replace好,可以配合^当match用。感觉上match适合当判断条件)
2.submit()触发提交事件,或者规定提交时运行的函数,对象为表单元素
$("form").submit(function(e){
alert("Submitted");
});
3.undefined is not a function
cannot call property 'xxx' of undefined
(看到某批判JS的文章说是极其常见的JS错误信息,我也算见过几次了,留意一下)
4.&是'&'符号
5.正则表达式
6.贪婪与惰性
(意思倒是好懂,具体怎么用正则量词还没懂)
遇到的问题:
1.之前的跨域问题
(1)AJAX的url要写成nginx设置的location名打头,比如/a/,于是实际写成/a/students
(2)linux系统的路径用"/"而windows是"\",在nginx.conf里改写root的路径时要注意一下这个问题
(3发送跨域请求的页面一定要放在nginx的root目录下
2.如何从一个字符串里提取数字字符
str.replace(/[^0-9]ig,""); //去掉所有非数字
3.'/land.php?x=106&y=-514'从这个字符串里提取两个数字,赋给变量x和y。
(1)value=str.replace(/[^0-9\&\-]/ig,"") //简化成'106&-514',其中特殊符号前面都要加个\
(2)接着。。不知道有没很方便的正则做法,我这里最终采用了循环而且看起来比较繁琐的正则(比起把字符串当一个数组来处理可读性差多了)
while(value.match(/[0-9\-](?=\&)/ig)!=null){ //当&前面有数字时执行循环
value=value.replace(/[0-9\-](?=\&)/ig,""); //去掉&前的单个数字
}
value=value.replace("&",""); //去掉&,得到y值
(3)x的值通过在'106&-514'里replace掉前面获取的'&-514'得到
4.正则的^n和n$使用场景选择出错。
(我开始的理解是,假如有一个'aaabccc'的字符,^b能获取bccc,b$能获取aaab,可是获取失败了)
5.[0-9](?=n)和[0-9](?!n)只能匹配到n前后的单个数字而不是全部数字
6.掌握正则量词的用法真的有点困难
评论