<script >
'use strict'; // 每次写js代码之前都加上这个,必须写在第一行,严格检查代码,预防js的随意性导致的问题
</script>
1、浏览器弹窗
<script >
alert("hello world")
</script>
2、定义变量
var num=11
var name=“张三”
只有一个变量类型,就是var和let(ES6才支持),不像java有多个类型,而且不同的类型之间还要转换
变量:支持$ _ 字母 数字,但是数字不能开头
let 局部变量
var 全局变量
3、数据类型
1、数值number
js不区分小数和整数
123 123.3 123e3(科学记数法) -99都是number
NaN 不是一个数字
Infinity 表示无限大
2、字符串
1)‘abc’ “avb”
2)’ 转移字符
3)多行字符串编写:
var msg=·hello
world
hahhaha· 用的是tab键上面的这个键 ,就可以输入多行字符串
4)模板字符串:
let name=“张三”;
let age=3;
let msg=你好,${name},你${age}岁了
也可以用“+”实现拼接
5)字符串长度
str.length
6)字符不可变
7)下标取值str[0]
8)大小写转换方法
str.toUpperCase()
str.toLowerCase()
3、布尔值
true false
4、逻辑运算
&& || !
5、比较运算
=
== 类型不一样,值一样,判断为true
=== 类型和值都必须一样才能true
注意:NaN与所有的数值比较都是false,包括自己
只能通过isNaN(NaN)来判断是否为NaN
6、数组
1)Array可以包含任意的数据类型,不要求数据类型保持一致
var arr=[1,2,3,‘d’]
2)arr.length长度
假如给arr.length赋值,数组大小可能发生变化
3)数组的内容可以改变
4)arr.indexOf(“1”)通过元素获取小标索引
字符串的"1"和数字的 1 是不同的
5)slice(1,5) 截取arr的一部分,包括头,不包括尾,返回一个新的数组
6)push ,pop 数组的尾部插入和弹出
7)unshift ,shift头部插入和弹出
8)sort 排序
9)元素翻转 reverse
10)arr.concat([1,2,3])将两数组拼接起来
并没有拼接数组,只是返回了一个新的数组
11)arr.join("-")数组之间用"-"连接
12)多维数组
13)取数组下标,如果越界了,报undefined
7、对象
1)数组是中括号,对象是大括号
每一个属性之间用逗号隔开
js中所有的键值中的键都是字符串,值都是任意对象
var person={
name : “zhagnsan”,
age:3,
arr:[‘js’,‘java’,‘css’]
}
2)对象赋值 person.name=”lisi“
3)使用一个不存在的对象属性,不会报错,只是undefined
4)动态的删减属性 delete person.name
5)动态的添加 person.sex=”女“
6)判断属性值是否在这个对象中 ”age“ in person,键都是字符串
7)判断这个属性是否是这个对象自身拥有的,而不是继承的,person.hasOwnProerty(“toString”)
4、流程控制
1)if语句
if(){
}else if(){
}else{
}
2)while语句
while(){
}
do{
}while()
3)for循环
for(let i= 1;i<100;i++){
}
4)数组循环foEach()
arr.forEach(function(i))
5)for…in,不知道索引有多少个的情况下,这个方法所以遍历
for(var index in arr){
console.log( arr[index] )
}