关于JavaScript的那点事(二)

作者: 徐慕熹微 | 来源:发表于2016-07-09 20:52 被阅读316次

    JavaScript最初的目的:判断客户端的输入;

    JavaScript现在的意义:用于页面特效(PC端的网页效果)、移动端(移动web和APP)、异步和服务器交互、服务端开发(nodejs)。

    ——01——

    JavaScript语言:是世界上用的最多的脚本语言(脚本语言,不需要编译,直接运行时边解析边执行的语言),是一种客户端(浏览器)的脚本语言。需要编译的语言:C、C++、Java、C#。

    编译和解释的不同:

    var a = 0;

    console.log(a)

    var b = "abc";

    编译:一次性把代码转换成CPU可以看懂的的语言,一行一行执行(代码执行的效率高);

    解释:一行一行解析,解析一行执行一行。

    JavaScript的组成:

    ECMAScript:JavaScript的语法规范

    DOM:JavaScript操作网页上元素的API

    BOM:JavaScript操作浏览器部分功能的API。

    引入JavaScript

    (1)HTML页面书写JavaScript

    <script>

    console.log("hello world");//在控制台输出字符串

    alert("hello world");//弹出消息框

    </script>

    (2)引入外部JavaScript文件

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

    --02--

    script标签的属性

       Async:异步,多个人同时做多件事;

      Sync : 同步,一个人有序的做多件事情。

      type属性:type=“text/Javascript”,可以省略;

      Async:async="async",值可以省略,但不建议省略,立即异步下载外部js,不影响页面其他的操作,js下载完毕立即执行;

     defer:defer=“defer”,值可以省略,也是异步执行,脚本延迟到文档完全被解析和显示后再执行,只有外部脚本可以使用。

    JavaScript的变量

      变量是在计算机中存储数据的一个标识符;变量可以在声明的时候赋值,也可以稍后赋值,例如:var number= 50;var name= “王五”;或者 var name = “王五”;可以在一行上定义多个变量:var name,sex,age。

    弱类型:JavaScript是弱类型的脚本语言

    var age = 90;

    age = “王五”;

    这两行代码在JavaScript中是合法的,原因就是:JavaScript是弱类型的语言。但不建议这么使用。

    变量命名规则和规范

        规则(必须遵守):由下划线、字母、数字、$组成;不能是关键字和保留字、区分大小写

        规范(建议遵守):变量的名称要有意义、变量的命名遵守驼峰命名法,首字母小写,第二个单词的首字母大写。例如:userName

    注释:

    单行注释——//单行注释

    多行注释——/*多行注释*/

    注释的应用:一般用于解释某些复杂代码的逻辑,方便于后期的维护和开发;一般用于对整个模块进行分割划分,方便于代码查找代码和维护;一般用于:模块、函数、复杂逻辑注解、文件注解、维护记录等。

    PS:大家在写代码的时候,尽量写注释,方便日后查看。

    ——03——

    数值类型

    数据类型:

       简单(基本、值)数据类型,Number、 String、Boolean、Undefined、Null;

       复杂(引用)数据类型:Object、Array、Date;

       查看当前变量的数据类型:typeof  name / typeof(name);

    数值字面量

       字面量:固定的值,让你从“字面上”理解其含义;

       数值字面量:var age = 18;//数值字面量,18为字面值;

    Number类型

       十进制,var num = 9;进行算数计算时,八进制和十六进制表示的数值最终都将被转换成十进制数值;

       十六进制,var num = 0xA;数字序列范围:0~9以及A~F;

       八进制,var num1 = 07;//对应十进制的7,var num2 = 019;//对应十进制的19。数字序列范围:0~7,如果字面值中的数值超出了范围,那么前导零将被忽略,后面的数值将被当做十进制数值解析;

       浮点数,var n = 5e-324;最高精度是17位小数,但在进行算数计算时其精确度远远不如整数,如:var result = 0.1+0.2;//结果不是0.3,而是0.3000000000000004;永远不要测试某个特定的浮点数值(不要判断两个浮点数是否相等)。

    数值范围

        最小值:Number.Min_Value,这个值为:5e-324

        最大值:Number.Max_value,这个值为:1.7976931348623157e+308

        无穷大:Infinity

        无穷小:-infinity

    数值检测

    NaN 非数值(Not a  Number):console.log("abc/18");  //结果是NaN

          isNaN():任何不能被转换为数值的值都会导致这个函数返回true:isNaN(NaN);//true,isNaN(123);//false

    String类型

         字符串字面量:var name = “zhangsan”;//zhangsan 字面量;

          字符串要用引号引起,单引号和双引号的作用是等效的;

          字符串是由一个一个字符组成的,获取一个字符串中的字符个数可以使用length,例如:var name = “zs”; alert (name.length);//2

    字符串是不可变的,也就是说,一旦创建,它们的值不能改变。要想改变某个变量的值,首先要销毁原来的字符串,然后在用另一个包含新值的字符串填充该变量。

    Boolean类型

         有两个字面量:true和false,并且区分大小写;虽然Boolean类型的字面值只有两个,但ECMAScript中所有类型的值都由于这两个Boolean值等价的值。

    例如:

    var  result = Boolean("a");

    console.log(result);//true

    var result = Boolean (100);

    console.log(result);//true

    转换成Boolean类型

    任何类型可以转换成Boolean类型,一般使用在流程控制语句后面,

    例如:

    var  message = "hello";if(message){alert(message+"world")};

    当变量的值是空字符串、0、NaN、null、undefined都转换为false。

    Undefined类型

    是一种比较特殊的类型,表示变量未赋值,这种类型只有一种值就是undefined。

    例如:

    var message;console.log(message);//结果是undefined

    undefined是Undefined类型的字面量。

    typeof message 获取到的是"undefined"。

    相关文章

      网友评论

        本文标题:关于JavaScript的那点事(二)

        本文链接:https://www.haomeiwen.com/subject/cjtdjttx.html