JavaScript部分

JavaScript

Javascript的引入方式

  1. 在HTML的scrip标签内写代码

    <script>
        //可以在这里写上js代码
    </script>
    
  2. 引入js文件

    <script src = 'js文件的路径'></script>
    

JavaScript的语言规范

  1. 注释

    在了解一门语言之前一定要先了解这门语言的注释怎么写,在JavaScript中使用//单行注释表示单行注释,以/*多行注释*/符号表示多行注释

  2. 结束符

    与python不同的是,JavaScript是要以;表示结束符,有;表示要结束这段语句

JavaScript变量

变量

无论在那种语言中,变量都是最为重要的一部分,在python中我们定义变量只需要变量名 = 变量值就可以了,然而,在JavaScript中需要先声明变量,声明变量需要使用varget关键字进行声明,其语法格式为var 变量名 = 变量值 或者let 变量名 = 变量值,那么varlet有什么区别吗?

var声明的变量是全局变量而let声明的变量是局部变量,let声明的变量只在代码块内有效,比如在for循环中我们就可以使用let声明变量。

常量

在python中常量只是约定俗成的,是可以修改的,而在JavaScript中,我们声明常量可以使用const关键字,一旦声明就不可以被修改

const PI = 3.1415;
PI // 3.1415

PI = 3;
// TypeError: "PI" is read-only

变量名的命名规则

  1. JavaScript中的变量名区分大小写
  2. 推荐使用驼峰体命名
  3. 不能使用关键字做变量名
  4. 可以使用数字、字母、下划线和$符号命名变量名,但不能使用数字开头

JavaScript数据类型

首先我们需要先了解JavaScript拥有动态的类型,也就是说在定义是可以不用先限制数据类型

var x;  // 如果只定义一个变量名则此时x为undefined,这点与python不同
var x = 1;  // 此时x的数据类型是数字类型
var x = 'lk';  // 此时x的数据类型是字符串 

数值型

在JavaScript中不区分整型和浮点型,就只有数值类型和NaN,NaN表示不是一个数字

var x = 12.34;
var y = 10;
var z = 123e-5  // 0.00123
// 使用parserInt转换类型
parserInt('abc')  // NaN 表示这个值不是数字,而在python中会直接报错 

字符串

字符串在定义时要用引号引起来

var a = 'hello ';
var b = 'world';
// 在JavaScript中推荐使用+拼接字符串
var c = a + b;
// 在JavaScript中使用console.log打印信息
console.log(c)  // hello world

字符串的内置方法

方法 功能
.length 求字符串长度
.trim 去除两端的空格
.trimLeft 去除左侧空格
.trimRight 去除右侧空格
.charAt(n) 返回第n个字符串同索引取值
.concat(value1,valuve2,….) 拼接字符串
.indexOf(substring, start) 子序列位置
.substring(from, to) 根据索引获取子序列同索引切片
.slice(start, end) 索引切片
.toLowerCase() 小写
.toUpperCase() 大写
.split(delimiter, limit) 分割

从表格中我们可以看到有两个索引切片,那么他们有什么区别呢?

  1. 相同点

    如果start等于end,返回空字符串
    如果stop参数省略,则取到字符串末
    如果某个参数超过string的长度,这个参数会被替换为string的长度

  2. 不同点

    substing 不能识别负数,slice可以识别负数

    slice传单个参数,从当前传入参数位置往后切,前面的不要

var name3 = 'lkgod'
name3.substring(1,4);
"kgo"
name3.slice(0,-1);
"lkgo"

undefined
name3.slice(1);
"kgod"

布尔值

布尔值和python的区别就是true和false都是小写的,而python中开头字母大写

与python中相似的是,0 None 空(字符串)undefined NaN 都是false

null和undefined的区别

  • null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
  • undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。

对象

与python中相似,JavaScript中也是一切皆对象,除了字符串、数值、数组、函数以外,JavaScript还可以自定义对象,而且JavaScript中提供了多个内建对象,比如string,date,array等,下面分别了解一下JavaScript中各种不同的对象

数组

与python中的列表类似,都是使用[]表示

var lt = [123,'abc']
lt[1]  // 'abc'

内置方法

方法 作用
.length 数组的大小
.push(ele) 尾部追加元素
.unshift(ele) 头部插入元素
.shift() 头部移除元素
.slice(start, end) 切片
.reverse() 反转
.join(seq) 将数组元素连接成字符串
.concat(val, ...) 连接数组
.sort() 排序
.forEach() 将数组的每个元素传递给回调函数
.splice() 删除元素,并向数组添加新元素。
.map() 返回一个数组元素调用函数处理后的值的新数组

上面几种都和python中没什么差别,下面只说一下后面三种python中没用的方法

  1. forEach的用法

    forEach方法中要传一个function参数,function是一个函数,函数需要三个参数

    currentvalue(必须的,当前元素的值) index(不必须,当前元素的索引)arr(不必须,当前元素所属的数组)

    forEach中还可以传入一个thisvalue参数,这个参数可选,对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined"

    var lt2 = [11,22,33,44];
    Uncaught SyntaxError: Unexpected token ]
    lt2.forEach(function(value){
    	console.log(value)
        })
    /*
    VM1130:2 11
    VM1130:2 22
    VM1130:2 33
    VM1130:2 44
    */
    
原文地址:https://www.cnblogs.com/lyyblog0715/p/11879643.html