JavaScript中变量的声明以及如何使用
2017-02-27 19:12
405 查看
今天在项目中想重构一下JS的代码,感觉项目中的代码写得很冗余,准备封装一下,在写代码的时候思考如何去定义变量装不同的代码,所有在此复习了一下基础知识;
想到几点就写几点吧!(PS:阅读文章最好仔细看文字描述部分)
使用 var 和 不使用 var 声明的区别:
第三种 我称呼他为面向对象的封装
想到几点就写几点吧!(PS:阅读文章最好仔细看文字描述部分)
function c(a,b){ return a+b; } var c=function(a,b){ return a+b; } 首先这两个代码的区别,我们可以看出这里都是函数的声明方法、其中第二项更倾向于函数表达式; 这两点有一个区别:先说第一种非匿名函数:function(){} 在代码执行之前被JS解释器加载到作用域中,这样一来就可以在编程时在定义函数之前调用这个函数。通俗一点的理解就是使用 function(){}声明的函数无论放在那个位置,他都可以被调用; 调用方式;函数名(参数) c(a,b) 第二种(匿名函数赋值): var xx=function(){} 而这一种声明方式会需要等JS解释器执行到这一步,那么这个函数才会有定义,因此如果你要在这个函数被编译之前调用它的话,它是不起作用的; 调用方式: c(a,b);
使用 var 和 不使用 var 声明的区别:
大家都知道在JS中声明一个变量通常是需要使用var去声明的,但是也可以不用var 去声明这个变量也是能够执行的,那么他们的区别是什么呢,请听我细细道来; jscript的全局变量和局部变量的分界是这样的: **过程体外(包括方法function,对象Object o ={})的所有变量不管你有没有加var保留字,他都是全局变量** **而在过程体内(包括方法function(){},对象Object o={})内的对象加var保留字则为局部变量,而不加var保留字即为全局变量** 怎么理解呢,就是在方法里面function(var xx=" 4000 "),或者对象里面(Object s={ ss:function(){ var xx=“”}} ) 像这样的声明就属于局部,而如果是在函数外,又或者对象外,声明无论是有没有var 他都是全局变量
第三种 我称呼他为面向对象的封装
由于是Javaweb开发,所有在前端的代码编写方面用到了很多面向对象的思想,下面就来说一说; 我们知道在JS中变量是可以存放数值和函数的 var a={ b:'123', c=function(d){ alert(d); } } 这就是接下来要说的简单的封装; var alecor={}; alecor.etc=function(){ // 避免this变量的污染,赋值给一个新的变量替代; var self=this; self.a=function(){ alert("A"); } self.b=function(){ alert("B"); } } 这样就完成了一个简单的封装,之后后面怎么用,就看你们自己决定了 如果把上面的函数单独写在一个JS函数里面,那么记得在调用之前引用这个函数,不然是无法调用的,至于原因,由于表达式是等待JS引擎执行到哪里它才在哪里实例化; 使用方法 var z=new alecor.etc(); console.log(z.a());
总而言之、言而总之;JS真的很灵活;
相关文章推荐
- JavaScript中变量的声明以及如何使用
- 5.PL_SQL――变量的种类以及如何声明变量(autoprint, %TYPE)
- 如何在javascript中使用django变量
- javascript 中使用变量存储的函数与不使用变量存储的函数的加载区别,以及其中this对象的区别
- awk 变量、数值表达式以及赋值运算符如何使用
- 关于如何使用反射声明一个泛型类型变量(泛型参数是动态的)的问题
- 在头文件中定义变量以及static变量意味着什么?全局变量要如何正确使用?关键字extern要怎么用?
- 声明两个变量:int n1=10,n2=20;要求将两个变量交换,最后输出n1为20,n2为10。扩展(*):不使用第三个变量如何交换?
- Javascript简介,基础(变量和函数的声明使用)
- js变量的声明、类型、以及使用
- JavaScript学习01 语言简介、基本使用和变量声明
- 关于javascript中变量是如何存储调用、以及函数的继承实现
- 解决多重定义问题/如何声明全局变量让多个cpp文件使用
- JavaScript声明和使用变量
- Portlet里面的标签和变量的关系,以及需要在使用render URL前声明这些URL的句子的分析
- [label][JavaScript][The Defined Guide of JavaScript] 如何声明变量
- angularjs于directive声明scope说明何时以及如何使用对象修饰符
- javascript中函数声明、变量声明以及变量赋值之间的关系与影响
- JavaScript学习笔记3-变量的声明和使用
- C语言,多个文件编程,使用不同.c文件的变量声明方法以及头文件的包含