JavaScript(1)
简介
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的 高级编程语言 。虽然
它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
变量与注释
基本语法
1.注释语法
// 单行注释
/*多行注释*/
2.结束符号
分号结束 console.log('hello world');
3.变量声明
在js中定义变量需要使用关键字声明
1.var
var name = 'jason'
2.let
let name = 'jason'
'''var声明都是全局变量 let可以声明局部变量'''
4.常量声明
const pi = 3.14
基本数据类型
#1、数值类型(相当于python中的整型int和浮点型float)
所有的数值都是数字类型
包括了整数和小数
如果超过最大值,返回Infinity (无穷)
NaN ( not a number )
精度丢失,在js中减少精确度很高的计算
var a = 123;
//'number'
typeof a;
// 最大值(1.7976931348623157e+308)
Number.MAX_VALUE
//NaN
console.log('abc' * 'abc');
//精度丢失
//0.30000000000000004
var num = 0.1 + 0.2;
//0.3
var num = (1 + 2)/10;
#2.字符类型(String)
String
// 默认只能是单引号和双引号
var name1 = 'jason'
var name2 = 'tony'
// 格式化字符串小顿号
var name3 = `${name1}`
字符串的拼接
js中推荐使用加号
统计长度
js中使用length/python中使用len()
移除空白(不能加参数指定)
js中使用trim()、trimLeft()、trimRight()
python中使用strip()、lstrip()、rstrip()
切片操作
js使用substring(start,stop)、slice(start,stop)
前者不支持负数,后者支持
大小写转换
js中使用.toLowerCase()、toUpperCase()
python中使用lower()、upper()
切割字符串
js中和python都是用split(),但是有点区别
ss1 = 'jason say hello big baby'
ss1.split(' ')
// ['jason', 'say', 'hello', 'big', 'baby']
ss1.split(' ', 1) // 参数1表示留下1个,从左到右
// ['jason']
ss1.split(' ', 2) // 参数2表示留下2个,从左到右
// ['jason', 'say']
字符串的格式化
js中使用格式化字符串(小顿号``)
var name = 'jason'
var age = 18
console.log(`my name is ${name},my age is ${age}`)
// my name is jason,my age is 18
3.布尔类型(Boolean)
JS中布尔值是全小写
true false
布尔值为false的 0 空字符串 null undefined NaN
"""
null的意思是空 undefined的意思是没有定义
var bb = null;
bb
null
var aa
aa
undefined
"""
#4.数组(Array
数组Array
var l1 = [11, 22, 33]
追加元素 .push(尾部追加元素)
var li = [11,22,33]
li.push(44)
li
(4) [11, 22, 33, 44]
弹出元素 .pop()(尾部弹出一个元素)
var li = [11,22,33,44]
li.pop()
li
(3) [11, 22, 33]
头部插入元素 .unshift()
var l1 = [11, 22, 33]
li.unshift(0)
li
(4) [0, 11, 22, 33]
头部移除元素.shift()
var l1 = [11, 22, 33]
li.shift()
li
(2) [22, 33]
扩展列表.concat()
var l1 = [11, 22, 33]
var li1 = [44,55,66]
li.concat(li1)
(6) [11, 22, 33, 44, 55, 66]
forEach
如果有一个数组arr,那么 forEach 方法接收一个函数fn作为参数,然后依次对这个数组的每一项执行
这个函数fn,同时这个函数fn又有三个参数,分别为当前值,当前位置(索引),整个数组。也可以理解成value,index,array.
如果fn只有一个参数,那么这个参数接收的是当前值(value);如果fn有2个参数,那么接收当前值(value)和当前位置(index)
var arr = [3,4,5]
arr.forEach(function(value,index,array){console.log('[' + index + '] = ' + value)})
[0] = 3
[1] = 4
[2] = 5
splice splice(起始位置,删除个数,新增的值(可以不写))
var l1 = [11, 22, 33]
li.splice(0,1)
li
(2) [22, 33]
li.splice(0,1,'44','55')
li
(3) ['44', '55', 33]