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://azwzsj.com/article/dsgsehh.html