前端基础之JavaScript

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端基础之JavaScript相关的知识,希望对你有一定的参考价值。

一、javascript的历史


二、ECMAScript

注:ES6就是指ECMAScript 6。

尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

    核心(ECMAScript) 

    文档对象模型(DOM) Document object model (整合js,css,html)

    浏览器对象模型(BOM) Broswer object model(整合js和浏览器)

简单地说,ECMAScript 描述了JavaScript语言本身的相关内容。

    JavaScript 是脚本语言

    JavaScript 是一种轻量级的编程语言。

    JavaScript 是可插入 HTML 页面的编程代码。

    JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。


三、JavaScript引入方式

1、在HTML文件的Script标签内写代码

        <script>

          // 在这里写你的JS代码

        </script>

2、HTML文件引入额外的JS文件

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


四、JavaScript语言规范

1、注释(注释是代码之母)

    // 这是单行注释

    /*

        这是多行注释

    */

2、结束符

    JavaScript中的语句要以分号(;)为结束符。


五、JavaScript语言基础

1、变量声明

    JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。

    声明变量使用 var 变量名; 的格式来进行声明

        var name = "Alex";

        var age = 18;

注意:

    变量名是区分大小写的。

    推荐使用驼峰式命名规则。

    保留字不能用做变量名。


六、JavaScript数据类型

1、JavaScript拥有动态类型

    var x;  // 此时x是undefined

    var x = 1;  // 此时x是数字

    var x = "Alex"  // 此时x是字符串 

2、数字类型

    JavaScript不区分整型和浮点型,就只有一种数字类型。

    var a = 12.34;

    var b = 20;

    var c = 123e5;  // 12300000

    var d = 123e-5;  // 0.00123

3、还有一种NaN,表示不是一个数字(Not a Number)。

常用方法:

    parseInt("123")  // 返回123

    parseInt("ABC")  // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。

    parseFloat("123.456")  // 返回123.456

4、字符串

    var a = "Hello"

    var b = "world;

    var c = a + b; 

    console.log(c);  // 得到Helloworld

常用方法:

方法说明
.length返回长度
.trim()移除空白
.trimLeft()移除左边的空白
.trimRight()移除右边的空白
.charAt(n)返回第n个字符
.concat(value, ...)拼接
.indexOf(substring, start)子序列位置
.substring(from, to)根据索引获取子序列
.slice(start, end)切片
.toLowerCase()小写
.toUpperCase()大写
.split(delimiter, limit)分割


拼接字符串一般使用“+”

补充:slice和ubstirng的区别:

        string.slice(start, stop)和string.substring(start, stop):

        两者的相同点:

            如果start等于end,返回空字符串

            如果stop参数省略,则取到字符串末

            如果某个参数超过string的长度,这个参数会被替换为string的长度

        substirng()的特点:

            如果 start > stop ,start和stop将被交换

            如果参数是负数或者不是数字,将会被0替换

        silce()的特点:

            如果 start > stop 不会交换两者

            如果start小于0,则切割从字符串末尾往前数的第abs(start)个的字符开始(包括该位置的字符)

            如果stop小于0,则切割在从字符串末尾往前数的第abs(stop)个字符结束(不包含该位置字符)

 5、布尔类型  区别于Python,true和false都是小写。

    var a = true;

    var b = false;

    ""(空字符串)、0、null、undefined、NaN都是false。

6、数组 类似于Python中的列表。

    var a = [123, "ABC"];

    console.log(a[1]);  // 输出"ABC"

     常用方法:

方法说明
.length数组的大小
.push(ele)尾部追加元素
.pop()获取尾部的元素
.unshift(ele)头部插入元素
.shift()头部移除元素
.slice(start, end)切片
.reverse()反转
.join(seq)将数组元素连接成字符串
.concat(val, ...)连接数组
.sort()排序

 补充:关于sort的问题:

        如果调用sort方法时没有传入参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

        如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

        若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

        若 a 等于 b,则返回 0。

        若 a 大于 b,则返回一个大于 0 的值。

        // 根据上面的规则自行实现一个排序函数:

        function sortNumber(a,b) {

          return a - b

        }

        // 调用sort方法时将定义好的排序函数传入即可。

        stringObj.sort(sortNumber)

可以使用以下方式遍历数组中的元素:

    var a = [10, 20, 30, 40];

    for (var i=0;i<a.length;i++) {

      console.log(i);

    }

7、null和undefined

    null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;

    undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。

    null表示变量的值是空,undefined则表示只声明了变量,但还没有赋值。

8、类型查询

typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。

    typeof "abc"  // "string"

    typeof null  // "object"

    typeof true  // "boolean"

    typeof 123 // "number"

对变量或值调用 typeof 运算符将返回下列值之一:

    undefined - 如果变量是 Undefined 类型的

    boolean - 如果变量是 Boolean 类型的

    number - 如果变量是 Number 类型的

    string - 如果变量是 String 类型的

    object - 如果变量是一种引用类型或 Null 类型的


以上是关于前端基础之JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

前端之JavaScript基础

前端基础之JavaScript

前端基础之JavaScript

前端基础之JavaScript

前端开发之JavaScript基础篇一

前端基础之JavaScript_1