JavaScript之概述

        1995年,当时的网景公司凭借其Navigator浏览器成为Web时代开启时最著名的第一代互联网公司。由于网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich这哥们在两周之内设计出了JavaScript语言。虽然语言的设计者水平非常牛,但谁也招架不住“时间紧,任务重”,所以JavaScript有很多设计缺陷。为什么起名叫JavaScript?原因当时Java语言非常火,所以网景公司希望借Java的名气来推广,但事实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系。因为网景开发了JavaScript,一年后微软又模仿JavaScript开发了JScript,为了让JavaScript成为全球标准,几个公司联合ECMA(European Computer Manufacturers Association)组织定制了JavaScript语言的标准,被称为ECMAScript标准。

        Javascript不像主流语言如C、Java那么备受重视,但它确实是一门重要的语言。因为它与浏览器的结合使它成为世界上最流程的编程语言之一,它的许多特性都借鉴自其他语言:语法借鉴自Java,函数借鉴自Schema,原型借鉴自Self,正则表达式借鉴自Perl。

一、使用方法:

         1、JavaScript代码可以直接嵌在html网页的任何地方并用<script>标签包围,不过通常我们把JavaScript代码放到<head>标签中,例如:

<head>
    <script type="text/javascript">
        ...
    </script>
</head>

         2、把JavaScript代码放到一个单独的.js文件中,然后在html网页中通过<script src="..."></script>指定.js文件路径引入对应的.js文件,例如:

<head>
    <script src="../test.js"></script>
</head>

        把JavaScript代码放到一个单独的.js文件中更利于维护代码,并且多个页面都可以各自引用同一份.js文件。也可以在同一个页面中引入多个不同的.js文件,浏览器按照引入的顺序依次执行,例如:

<head>
    <script src="../test1.js"></script>
    <script src="../test2.js"></script>
    <script src="../test3.js"></script>
</head>

        有时候你会看到<script>标签还设置了一个type属性,但这并不是必要的,因为默认的type就是javascript,所以不必显式地把type指定为JavaScript。

二、命名规则:

        变量命名与Java命名规则相同,由字母、数字、下划线和$符号组成,严格区分大小写,不能以数字开头,不能包含保留字,这些保留字是:abstract、boolean、break、byte、case、catch、char、class、const、continue、debugger、default、delete、do、double、else、enum、export、extends、false、final、finally、float、for、function、goto、if、implements、import、in、instanceof、int、interface、long、native、new、null、package、private、protected、public、return、short、static、super、switch、synchronized、this、throw、throws、transient、true、try、typeof、var、volatile、void、while、with。还有一些本应放入保留字中但没有放入诸如undefined、NaN和Infinity等。

三、语法:与Java语法大部分相同,只有部分稍有区别:

        1、循环:while循环、do while循环以及for循环与Java大体一致,只有for in循环比较特殊,JavaScript不支持像Java中的增强for循环,但支持此种格式的for in循环,用于遍历对象中的属性,包括对象对应的原型中的属性:

for(attr in obj){
}

        为了统一集合类型,ES6标准引入了新的iterable类型,Array、Map和Set都属于iterable类型。具有iterable类型的集合可以通过新的for of循环来遍历:

for(var x of array){
}

        2、try catch语句:大致与Java相同,只是在JavaScript中throw抛出的异常一般是一个对象字面量,它包含name属性和message属性,并且一个try语句只会有一个catch捕获块。

throw {name:'TypeError',message:'requires numbers'};
try{
}catch(e){
}finally{
}

        3、return语句:每个函数(方法)都有一个返回值,可以显示指定返回值,如果不指定,默认返回undefined。

        4、"=="与"===":都是用于比较两个值是否相等。

              "==="的比较规则:

              1>只要类型不同就返回false

              2>如果类型相同时:

                   ①如果类型是基本类型,值相等则返回true,否则返回false;

                   ②如果类型是对象类型,是同一个对象则返回true,否则返回false;

                   ③如果两值都是null或者两值都是undefined则返回true,否则返回false;特殊地,NaN与任何值包括它本身NaN比较都返回false;

              "=="的比较规则:

              1>如果类型相同,按"==="的规则进行比较

              2>如果类型不同时,比较之前先转换类型:

                   ①如果一个是null,一个是undefined则返回true;

                   ②如果是数字和其它基本类型比较,先将其它基本类型转为数字再与另一个数字进行比较,true转为1,false转为0;

                   ③如果是数字和对象类型比较,将对象类型使用valueOf()或toString()方法转为基本类型再进行比较。valueOf()优先于toString()方法,特殊地Date使用toString()方法。

 

参考:Douglas Crockford《JavaScript语言精粹》

           http://www.cnblogs.com/sanshi/archive/2009/07/08/1519036.html

           https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值