对象
对象可以通过两种方式定义:生命(文字)形式和构造形式。
类型
六种主要类型:string、boolean、number、null、undefined和object。
typeof null 会返回字符串“object”,这是一个bug。
原理是这样的,不同对象在底层都表示为二进制,在JavaScript中二进制前三位都是0的话会被判断为object类型,null的二进制表示全为0,自然前三位也是0,所以执行typeof时会返回“object”。
this既不指向函数自身也不指向函数的词法作用域;
this实际上是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用。
1 | function baz() { |
三个角色:
变量的赋值操作会执行两个动作,首先编译器会在当前作用域中声明一个变量(如果之前没有声明过),然后在运行时引擎会在作用域中查找该变量,如果能找到就会对它赋值。
引擎从当前的执行作用域开始查找变量,如果找不到,就向上一级继续查找。当抵达最外层的全局作用域时,无论找到还是没有找到,查找过程都会停止。
作用域是一套规则,用于确定在何处以及如何查找变量(标识符)。如果查找的目的是对变量进行赋值,那么就会使用LHS查询;如果目的是获取变量的值,就会使用RHS查询。
不成功的RHS引用会导致抛出ReferenceError
异常。不成功的LHS引用会导致自动隐式地创建一个全局变量(非严格模式下),该变量使用LHS引用的目标作为标识符,或者抛出ReferenceError
异常(严格模式下)。
记录一次web前端面试经历:春节过后回到学校就开始找工作,简历到处投递,但是回应者寥寥无几,也许是前端开发供大于求,也许是互联网寒冬,也许是就业压力大。这次去网易面试的机会是我偶然看到脉脉上有帮忙内推的我就发了一份简历,结果真的就收到了面试邀请。
在慕课网学习的正则表达式的用法,下面是一些笔记以防遗忘。
在线图形化工具http://regexper.com。
var reg = /\bis\b/g;
\b
代表单词边界。var reg = new RegExp('\\bis\\b','g')
g
:global 全文搜索,不添加则默认搜索到第一个停止i
:ignore case 忽略大小写,默认的大小写敏感m
:mulitple lines 多行搜索重新回到hexo博客。
其实第一次接触hexo博客也有一段时间了,但是没有坚持下去,偶然发现github上面的主页需要翻墙才能访问了。上次重装系统,文件又没有备份,因此干脆重新搭建了个人技术博客,这次主要部署在coding.net和github上。后续会将之前的文章再找回来,本篇主要记录hexo博客中md文件的格式。
说起来还真的是惭愧,这本书是我在寒假之前就从图书馆里借到的,处在职业迷茫期的我看见这本书的书名,如获珍宝。但是拖延症使我在开学后才开始看,但是由于时间充沛,我终于在接下来的的三周内看完了这本书。
标签内是后面回顾时候的批注。
以下是笔记,以备回顾。
今天是2016年3月9日。