【一】常用的调试语句
-
alert:警告,在浏览器中弹出一个警告框,内容为alert里面的内容
alert("内容"); alert("bad");
-
prompt:对话框,第一个参数是询问内容,第二个参数是提示摊入的实例值
prompt(问题,值); prompt("your age?",22)
-
console:控制台,在控制台内输出一些内容
closole.log(内容); console.log("hello")
【二】数据类型
【1】JS中的数据类型
-
简单数据类型:Number、String、undefined、Boolean、null
-
复杂数据类型:Object
【2】数据类型检测
console.log(typeof("bad")) # string
-
null的数据类型是object
console.log(typeof(null)) # object
【3】字面量
-
字面量是用于表达固定值的方法,又叫常量
-
所见即所得
-
比如:数字、字符串、布尔值等
【4】数字字面量
-
这里指数学意义上的数字
-
数字字面量区分:整数、浮点数、特殊值
-
书写时直接写字面量,不需要加任何符号
【5】特殊值
-
Infinity 无穷:无穷大Infinity ,无穷小-Infinity
-
NaN:不是一个正常的数,是数字类型,可以通过isNaN来判断
【6】字符串
-
组成:字母,汉字,特殊符号,空白等
-
字符串的字面量写法:是用一对单引号或者一对双引号
-
如果字符串中含有单引号那么字面量写法就必须用双引号,反之也一样
-
转义符号:\n换行 ,\t缩进 ,' 单引号 ," 双引号,\反斜杠
【三】变量和常量
-
js是一门拥有动态类型的语言
-
name可以指向任意类型
-
在某些语言中,变量名只能指向其中一种,不支持做更改
var name ='knight' var name ='hyt'
【1】变量
(0)介绍
-
变量(variables),是计算机内存中存储数据的标识符,可以根据变量名称获取存储的值
-
变量相当于一个容器,内部可以存储任意的数据,使用变量时,用的是内部存储的数据
-
使用变量可以方便的获取或者修改
(1)变量声明
-
变量声明又称创建变量
-
在变量使用前必须先定义,如果没有定义就会出现引用错误
-
在js中 首次定义一个变量名时需要用关键字声明
# 关键字 var var 变量名=变量值 var n ='hyt' # es6语法 let 变量名=变量值 let na="gd"
-
注意:如果编译器版本是 5.1 则无法使用let,6.0 则向下兼容,二者都可以
(2)var和let的区别
-
var 在循环内定义也会影响到全局
-
let 在局部定义只会在局部生效
(3)变量命名规范
-
变量名只能是 数字/字母/下划线/$
-
变量名命名规范(js中推荐驼峰式命名法、私有成员以_开头)
-
变量民不能用关键字作为变量名
-
变量名不能用数字开头
(4)变量赋值
-
定义完变量后,初始没有进行赋值,内部会有一个默认的存储值叫做 undefined
var names; console.log(names) # undefined
-
变量赋值通过 = 赋值 等号左边是变量名 右边是变量值
-
书写时习惯在等于号两边各加一个空格
-
变量可以在定义时直接赋值
-
变量可以赋值给另一个变量,只是把变量的值赋值给另一个变量
-
变量可以多次赋值
-
多个变量可以同时声明中间用,号分隔
var names='gdy',age=22
【2】常量
-
在Python中没有真正意义上的常量,默认全大写就是常量
-
在js中有真正意义上的常量
# 无法修改常量值 const i =10; var i =11; # VM296:1 Uncaught SyntaxError: Identifier 'i' has already been declared
-
注意:js也是一门面向对象的编程语言,一切皆对象
【四】数字类型(number)
【1】创建
var n=52 var l=52.1314
【2】查看数据类型
typeof n 'number' typeof l 'number'
【3】特殊情况:NaN
-
NaN:数值类型
-
表示的意思是:不是一个数字,Not A Number
【4】类型转换
var e=parseInt("1.11") var o=parseFloat("1") console.log(e) # 1 console.log(o) # 1
-
parsenlnt方法
# 只要开头是数字就可以传 console.log(parseInt("121aaujh")) # 121 console.log(parseInt("aasdads444564546")) # NaN
-
parseFloat方法
console.log(parseFloat("11.11")) # 只要开头有数字就可以转,如果开头不是数字则是NoN # 11 console.log(parseFloat("11.11")) # NaN
【五】布尔类型(Boolean)
【1】引入
-
在Python中布尔值是首字母大写的(True/False)
-
但是在js中布尔值是全小写的(true/false)
【2】示例
var a = true console.log(a) # true typeof a # 'boolean'
【3】布尔值是false的情况
-
空字符串
-
0
-
null
-
undefined
-
NaN
-
其他情况均为true
【4】类型转换
var a=Boolean(NaN) # false var b=Boolean(n) # true
【六】字符类型(string)
【1】创建示例
var a='knight' typeof a # 'string' var b="gdy" typeof b # 'string' # 不支持三引号 ''' '''
【2】模版字符串
(1)书写多行字符串
var s4=` ab cd ef ` typeof s4 # 'string'
(2)格式化字符串
-
书写${}会想起找定义过的变量值
-
如果找不到就会报错
-
-
模版字符串除了可以定义多行文本,还可以实现格式化字符串操作
var name="knight" var age=22 var user=`my name is ${name}, my age is ${age}` user # 'my name is knight, my age is 22'
(3)拼接字符串
-
在JS中推荐使用 + 号 做拼接
var name="knight" var n="k" var si = name + n si 'knightk'
【3】常用方法
(1)统计字符长度
-
空格也算一个字符
var name=" knight " name name.length # 10
(2)移除空白
var name=" knight " # 去除两端空白 name.trim() # 'knight' # 去除左边空白 name.trimLeft() # 'knight ' # 去除右边空白 name.trimRight() # ' knight'
(3)返回索引(默认从0开始)
-
如果当前查找的字符不存在于此字符串中则返回-1
var name=" knight " # 返回索引为5的字符 name.charAt(5) # 'g' # 返回字符k所在位置的索引 name.indexOf("k") # 2
(4)切片
var name = "wudi knight ggg" name # 'wudi knight ggg' # substring 取索引0-5的内容(去尾) name.substring(0,5) # 'wudi ' # slice 取索引0-5的内容(去尾) name.slice(0,5) # 'wudi ' # 两者的区别:slice可以用负数取值 name.substring(0,-2) # '' name.slice(0,-2) # 'wudi knight g'
(5)字符大小写转换
var name = "Hello World Knight" name # 'Hello World Knight' # 字符全部转小写 name.toLowerCase() # 'hello world knight' # 字符全部转大写 name.toUpperCase() # 'HELLO WORLD KNIGHT'
(6)切分
var name = "knight|music|22|宫本武藏" name # 'knight|music|22|宫本武藏' # 以指定字符切分字符串 name.split("|") (4) ['knight', 'music', '22', '宫本武藏'] # 参数2的意思就是只拿前两个参数,如果参数太大,超过了目标个数,则有几个拿几个 name.split("|",2) (2) ['knight', 'music']
(7)字符串拼接
var a = "lkjhkjiu" var b = "nbhytkjiu" a.concat(a,b) # 'lkjhkjiulkjhkjiunbhytkjiu'
【4】转换成字符串方法
-
通过+''运算、String构造函数、toString方法
console.log(6 + ''); console.log(String(6)); console.log([1,2,3].toString());
【七】null 和 undefined
【1】null
-
表示值为空,一把是指定或者清空一个变量是使用
【2】undefined
-
表示声明了一个变量,但是还没有做初始化操作
-
函数没有指定返回值的时候也是返回undefined