随笔分类 - javacript基础篇
摘要:大家可能会时常听到表达式这个词语,感觉也就是那样,但是真正想想,是个什么样,还可能真说不出来,其实看似平淡无奇实则暗流涌动,遇到的话一不小心就可能会栽倒在表达式的手里。好了不扯淡了,我们回正题。表达式我们先看一下维基百科对表达式的定义是什么表达式是由数字、运算符、数字分组符号(如括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。~~约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。一个表达式代表一个函数,其输入为自由变量的定值,而其输出则为表达式因之后所产生出的数值。 ——维基百科这句话听起来是那么的咬口,其实表达式就是一个短语,javascript会
阅读全文
摘要:回顾上章,我们讲了变量,顺便提到函数,讲了一些和函数相关的知识。这章着重给大家讲一下,函数。什么是函数呢,这个我就不再说了。我只会讲平常用到的,比较重要的概念知识。下来我们会讲到Function构造器、函数声明、函数表达式。这些都只是基础概念。应用层面的会比较广泛,比如闭包Function构造函数说起Function构造函数,可能许多人就要眨眨眉头了,其实你可以不用去理会,因为实践证明,构造函数式的函数在书写上,性能上都是不建议采取的。构造函数式的创建函数也可分为三种:方式一var foo01 = new function() { var temp = 100; this...
阅读全文
摘要:你可能知道,Javascript语言的执行环境是"单线程"(single thread)。 所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。 为了解决这个问题,Javascript语言将任务的执行模式分成两种:同步(
阅读全文
摘要:这篇文章是对基础的复习,有这样一道面试题var a = 10;(function () { console.log(a); var a = 20;})()短短 5 行代码console.log(a)的结果是什么?如果把var a = 20;和console.log(a)语句顺序对调呢?这道题目的答案是undefined。不是 10。关键在于 javascript 的变量声明有一个 hoisting 机制,变量声明永远都会被提升至作用域的最顶端(注意测试还只是声明,还没有赋值)。其实上面的语句相当于:var a = 10;(function () { var a; // 在这...
阅读全文
浙公网安备 33010602011771号