摘要:如下var a = 3;实际有两个步骤:1 初始化a为undefined2 a赋值3 因此会出现一些“匪夷所思”的现象,即JS中变量可以先使用后声明。这在Java中是不允许的。System.out.println(a);int a = 1;编译通不过。但JS可以,如下alert(a);var a;虽然是undefined,但不会报错。说明a的确声明了,且为undefined。如果只是“alert(a)”,没有“var a”的话JS引擎会报错的。alert(a);FF中如下虽然可以先使用再声明,但这样会造成赋值的效果丢失。如下alert(a);var a = 1;这次输出的仍然是undefine
阅读全文
摘要:JS中创建对象可以直接使用直接量的方式,这里讨论的是定义一个构造器(function)的情况。如下function Person(name, age) { this.name = name; this.age = age;}var p = new Person('lily', 20);发现某些库代码中创建正则对象的方式无需new,这让人感到奇怪。如下var reg = RegExp('^he
′);测试发现使用或不使用new,最后返回的都是正则对象,且typeof它们都是“object”。varreg1=newRegExp(′he')
阅读全文
摘要:测试代码如下<!doctype html><html> <head> <title></title> <meta charset="utf-8"> </head> <body> <iframe frameborder="1" style="height: 330px;"></iframe> <button>测试1</button> <script> var ifr = docume
阅读全文
摘要:设置iframe的document.designMode为On可以让其可编辑,一般用在富文本编辑器组件中。这里仅列出各浏览器差异。重现如下:<!doctype html><html> <head> <title>设置iframe的document.designMode后仅Firefox中其body.innerHTML为br</title> <meta charset="utf-8"> </head> <body> <iframe frameborder="1&qu
阅读全文
摘要:偶然发现的,页面中没有引入Prototype和jQuery。控制台中敲
却发现是一个函数。又试着敲,也是个function。霍霍..接着在各个浏览器中测试,发现Firefox/Chrome/Safari中有,IE9/Opera没有。 相当于 document.getElementById
相当于document.querySelectorAll在chrome控制台敲$,一目了然这两个函数都是浏览器调试工具自带的。
阅读全文
摘要:EditPlus每次安装完editplus,总是忘了一些配置。记录之,这里的版本是3.3.11. 设置不生产临时文件(bat文件)tools -> preferences -> file -> create backup file when saving 去掉勾选2. 添加、删除注释的快捷键tool...
阅读全文