欢迎进入武汉轻洽网络技术有限公司官方网站!
服务热线:027-51831034,13971151027
   4年前 (2017-06-18)  javascript |   抢沙发  34 
文章评分 0 次,平均分 0.0

JS学习小结:
学习JavaScript脚本语言,首先我们要知道JavaScript是什么?
Javascript是什么,简称Js,Js是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言,使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。

当前什么越来越强调沟通,而Js是最接近前后端的语言,越来越多的前后端框架的支持,使他的前途很明朗,作为一种解释型语言,Js强调实时,在线。

先看下Js的特性:脚本编写语言,基于对象的语言,简单性,安全性,动态性和跨平台特性。
Js的命名规范:有两种常用的命名规则

  匈牙利命名法的原则:变量名=属性类型对象描述。他的关键是:以一个或多个小写字母作为前缀,前缀之后是一个或多个首字母大写的单词组合,该单词指明变量的用途。

驼峰命名法的原则:第一个单词以小写字母开始,之后每一个单词的首字母大写。例如:myFirstName、myLastName,这样的变量名看上去就像驼峰一样此起彼伏,因此得名。驼峰法的关键是:除第一个单词外,其他单词首字母大小,混合使用大小写字母来构成变量名和函数名,还可以使用下划线来形成逻辑断点,这样更能增强代码的可读性。

JS的注释规范:
JS中单行注释用“//注释内容”标识,多行注释使用“/*注释内容*/“标识。注释的作用是提高代码的可读性,不仅自己以后用着方便,也有助于别人阅读和理解你所编写的JS代码,注释中的内容不会在网页中显示。为了方便阅读,注释一般放在需要解释的语句结尾处或者周围。

在JavaScript中四种基本的数据类型:数(整数和实数)、字符串型(用“”号或‘’括起来的字符或数)、布尔型(使True或False表示)和空。在JavaScript的基本类型中的数据可以是常量,也可以变量。由于JavaScript采用弱类型的形式,因而一个数据的变量或常量不必首先作声明,而是在使用或赋时确定其数据的类型的。当然也可以先声明该数据的类型,它是通过在赋时自动说明其数据类型的。

Js还有一种拓展类型,那就是:Undefined数据类型
一个为undefined的就是指在变量被创建后,但未给该变量赋以前所具有的。

下面是一下常用语法:
1.对象定义方式

空对象:没有任何属性和方法
varobj={};
定义对象的属性:
obj.xx=123
定义对象的方法:
obj.function=function(){};

2.函数的定义方式:

JavaScript函数定义
Function函数名(参数,变元){
函数体;.
Return表达式;
}
说明:
 当调用函数时,所用变量或字面量均可作为变元传递。
 函数由关键字Function定义。
 函数名:定义自己函数的名字。
 参数表,是传递给函数使用或操作的,其可以是常量,变量或其它表达式。
 通过指定函数名(实参)来调用一个函数。
 必须使用Return将返回。
 函数名对大小写是敏感的。
函数中的形式参数:
  在函数的定义中,我们看到函数名后有参数表,这些参数变量可能是一个或几个。那么怎样才能确定参数变量的个数呢?在JavaScript中可通过arguments.Length来检查参数的个数。

3对象的引用传递

js中对象的赋也是采用引用的方式,同时指向同一个对象。

函数传递的也是对象的引用。修改的是同一个对象。

访问对象的方式
必须采用双引号或者单引号括起来

4.匿名函数

(function(){//代码})();//可立即执行的匿名函数

解释:,包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。
例子:(function(arg){alert(arg100);})(20);
这个例子返回120。

匿名函数,就是没有引用直接加上()进行执行的函数。

varaddFunc=function(a,b){
cosole.log(a
};
--调用方式
addFunc(1,2);

--匿名函数
(function(a,b){console.log(ab)})(1,2);

上面两个函数的产生的结果是一样的.只不过addFunc为函数对象的引用,而匿名函数不存在引用.

5.闭包
可以理解成一个函数内的内部函数,它被创建在一个函数内部,引用这其外部函数的变量。

闭包的两个作用:
1.可以读取函数体所在外部函数的局部变量
2.就是让这些变量的始终保持在内存中

6.constructor

constructor属性返回对创建此对象的数组函数的引用。

7.js==与===的区别

一个等号是赋操作,==先转换类型再比较,进行的对比。
而===先判断类型,如果不是同一类型直接为false,只有类型和全部都相等,才相等。

8.JS中一切皆对象
JS中基本数据类型,也存在着对象封装,比如下面数字123的构造函数是Number,test的构造函数是String,包含length的属性

9.prototype原型

每个对象都连接到一个原型对象,并且可以从中继承属性。所有通过{}或者构造函数创建的对象都连接到Object{}
对象通过(对象名称.__proto__)可以查看原型
或者通过(对象名称.constructor.prototype)查看原型

10.arguments

arguments对象是函数内部的本地变量;arguments已经不再是函数的属性了。
你可以在函数内部通过使用arguments对象来获取函数的所有参数。这个对象为传递给函数的每个参数建立一个条目,
条目的索引号从0开始。例如,如果一个函数有三个参数,你可以通过以下方式获取参数:

arguments[0]
arguments[1]
arguments[2]

参数也可以被重新赋:
arguments[1]='newvalue';

arguments对象并不是一个真正的Array。它类于数组,但没有数组所特有的属性和方法,除了length。
例如,它没有pop方法。不过可以将其转换成数组

11.利用JS特性实现AOP

AOP就是面向切面编程,主要作用是把一些核心业务逻辑模块无关的功能抽离出来,这些跟业务逻辑无关的功能
通常包括日志统计,安全控制,异常处理等。把这些功能抽离出来后,又通过动态织入的方式渗入到业务逻辑模块中

在JAVA中,可以通过反射和动态代理机制来实现AOP。但对于javascript这种动态语言,AOP的实现更加简单

在javascript中实现AOP,都是指把一个函数动态织入到另外一个函数中。我们可以通过扩展Function.prototype来做到这一点

12.利用JS特性实现一些有趣的Function

13.call、apply的使用

语法

function.call(thisObj,param1,param2,param3...);
function.apply(thisObj,[param1,param2,param3...]);

用法是改变function的作用域,将参数的上下文作用域修改成thisObj对象,也可以说this对象为thisObj.
默认的function的作用域是window,this相当于window.function

 

除特别注明外,本站所有文章均为轻洽网络原创,转载请注明出处来自http://www.qingqia.net/377.html

关于

发表评论

暂无评论

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

扫一扫二维码分享