js笔记寒假02
数据类型 (简略)
变量 var
1.js不区分小数和整数 Number (12.3 123 -9 1.2e3)
NaN not a number 不是一个数字
Infinity 表示无限大
布尔值 ture false
console.log(2>1) ture
console.log(1>2) false
逻辑运算符 && || !
比较运算符
= //赋值
== //等于(有缺点,类型不一样,值一样,判为ture 比如1和“1”)
=== ///绝对等于(类型一样,值一样,判ture)一般用这个
NaN与所有的数值都不一样,包括自己
只能通过isNaN(NaN)判断这个数是否是NaN
isNaN(NaN) ture
isNaN(5) false
2、浮点数问题
尽量避免使用浮点数进行运算,存在精度问题
console.log((1/3)===(1-2/3)) false
//计算机是二进制的,浮点数会失去一定的精确度。
//根本原因是:十进制值通常没有完全相同的二进制表示形式;十进制数的二进制表示形式可能不精确。只能无限接近于那个值
//所以采用绝对值判断
console.log(Math.abs(1/3-(1-2/3))<0.00000001) ture
3、
null 空 可能进行了定义之后为空
undefined 未定义
4、数组
在其他语言中是一些类型相同的对象 在js中不需要这样
var arr = [1,2,3,null,ture,"hello"];
打印
console.log(arr[0]) 1
console.log(arr[4]) ture
console.log(arr[6]) undefined (数组下标越界后会显示)
对象用大括号{}数组用[]
5、
var person = {
name: "xi",
age: 3,
tags: ['js','java','web']
}
//每个属性之间用逗号隔开,最后一个不需要
打印
person.name "xi"
person.age 3
6、
i = 1; //全局变量
var i = 1; //局部变量
let i = 1; //在Es6中,局部变量一般用let定义
7、严格检查模式
'use strict' //预防js的随意性导致产生的问题 必须写在第一行
数据类型(详细)
1、字符串
可以使用单引号或者双引号包裹
2、转义字符 \
\n //换行
\r //回车符
\t //制表符
unicode字符 \u4e2d 中
ASCII字符
3、多行字符串编写
var msg = `hello
world`(ese下面的键)
4、模板字符串
let name = "xi";
let msg = `你好,${name}`
console.log(msg) 你好,xi
5、字符串长度
var student ="student";
console.log(student.length) 7
//student.后会出现很多方法,都可以尝试使用
比如console.log(student.toUppercase()) STUDENT
console.log(student[0]) s
student[0]=1 错误,并不会改变
indexof //获得下标
console.log(student.indexof('t')) 1
substring //截取,左闭右开
console.log(student.substring(1)) tudent
console.log(student.substring(1,3)) tu