189 8069 5689

javascript词法,javascript的用法

简单形象地简介下javascript闭包、封装、原型、作用域链等等概念

闭包

10多年的南溪网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整南溪建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“南溪网站设计”,“南溪网站推广”以来,每个客户项目都认真落实执行。

闭包就是能够读取其他函数内部变量的函数。

最大用处有2个:

1.读取函数内部变量

2.让这些变量的值始终保持在内存中

参考资料:

封装

其实就是用js模拟出类的写法,将你写成程序按照面向对象的思想去包装起来,方便调用

参考资料:

原型

每个javascript对象都有一个原型对象(简称原型),这个原型是由该对象的构造函数所定义(javascript自动创建的),并且对象继承原型的所有属性和方法(函数)。

参考资料:

作用域链

Javascript作用域问题简单的可以用一句话来概括:两种类型的作用域( global, function)、三条作用域链。

理解两种三条前需要明白两点:

1) JavaScript是词法作用域,当一个函数被定义后,它的作用域链就作为函数的内部状态被保存了。

2) 在函数被定义时虽然作用域链确定了,但作用域链中的属性并没有确定。

两种类型的作用域:

1) 全局作用域 -- 变量为window对象的属性(默认浏览器环境中)。 作用域链:window

2) 函数作用域-- 变量查找的的顺序(即作用域链) 当前call object -- .... -- window object

特殊的一条作用域链:

通过HTML属性定义的事件处理代码:匿名函数的call object -- 当前节点 -- 父节点--...-- window object

参考资料:

javascript的词法作用域是什么意思

结果依次是undefined,2,1 js在语法分析阶段会扫描本作用域内的所有变量声明并提前,于是你的f函数体内就相当于这样: var a; console.log(a); //undefined a = 2; console.log(a); //2 函数外的a就是全局变量的a=1了

javascript 词法分析是什么意思

在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编

译”。

• 分词/词法分析(Tokenizing/Lexing)

这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代

码块被称为词法单元(token)。例如,考虑程序 var a = 2;。这段程序通常会被分解成

为下面这些词法单元:var、a、=、2 、;。空格是否会被当作词法单元,取决于空格在

这门语言中是否具有意义。

-----摘自你所不知道的JavaScript


分享标题:javascript词法,javascript的用法
网站链接:http://cdxtjz.cn/article/dsgsehh.html

其他资讯