JS学习
一、基础内容
变量类型只有var,不能以数字开头
局部变量使用let
// 定义变量
var num =1;
//条件控制使用if语句与java类似
alert("true");//弹窗
console.log();//控制台打印
在浏览器中调试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3HVxNDKB-1637034461398)(C:\Users\AOC\AppData\Roaming\Typora\typora-user-images\image-20211111172114838.png)]
二、数据类型
1、数值
number JS不区分小数和整数
NaN=不是一个数字
Infinity表示无限大
2、字符串
‘abc’ “abc”
正常字符使用单引号或者双引号
转义字符\
\'
\n //换行
\t
\u4e2d //Unicode字符
\x41 //ASCALL码
`` //可以写多行字符串
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2fNSghzB-1637034461401)(C:\Users\AOC\AppData\Roaming\Typora\typora-user-images\image-20211115110213710.png)]
模板字符串
${xx} //可以在``中使用该符号取出字段的值,用于拼接动态字符串
字符串方法
字符串.length ----长度
可以利用下标输出
.toUpperCase() --变换大写
.toLowCase() --变换大写
.indexOf(‘t’)–获取该字符下标
.substring(n)–截取第n个后面的字符串
3、布尔值
true false
4、逻辑运算
&& 与
|| 或
! 非
5、比较运算符
= //赋值
== //等于(类型不一样,值一样也会相等)
=== //绝对等于(类型和值都一样)
6、浮点数
尽量避免浮点数计算,会有精度缺失
//ture
console.log(Math.abs(1/3-(1-2/3))<0.000000001);
//false
console.log(1/3===(1-2/3));
7、数组
使用【】
var arr = [1,2,3,4,'hello',null,true];
//取值
arr[4]
//若没值增显示undefined
javascript中不用相同对象
方法:
长度----.length
数组可变值
长度可变
slice()截取,相当于substring
push–添加元素进入数组尾部
pop()–删除尾部元素
unshift()—添加元素进入数组头部
shift()—删除头部 元素
concat()合并成新的数组
join("")连接符,打印字符串使用。
多维数组:
arr = [[1,2],[3,4],["a","b"]]
arr[1][1]
4
8、对象
使用{}
对象中使用
var 对象名 = {
属性名:属性值,
属性名:属性值,
属性名:属性值
}
var person = {
name:"bango",
age:42,
tags:['js','java','html']
}
//取值
person["age"]//对象中的值
person["tags"][1]//对象中数组的值
对象中的属性使用,隔开,最后一个不需要
使用一个不存在的对象只会undefinded,不会报错
delete—动态删除对象属性
.属性名=属性值,增加对象属性
判断元素是否在对象中
‘属性名’ in 对象名
hasOwnProperty("")方法判断是否拥有该属性
foreach循环
对象.foreach(function(value){
console.log(value)
})
for…in
for (var num in age){
if(age.hasOnwProperty(num)){
console.log(age[num])
}
}
9、strict严格模式
增加
'use strict';
严格检查模式,预防JavaScript的随意性导致报错
必须写在第一行
10、Map和Set
与java类似,使用键值对储存,get和set方法,delete删除
Set集合可以去重,使用add添加,delete删除
for…of
可以打印map和set
for( var num of map){
console.log(num);
}
三、函数(方法)
1、定义函数(方法)
// 第一种
function 函数名(x){
内容
}
//第二种
var 函数名 = function(x){
内容
}
2、参数
arguments包含所有传进来的参数
添加…rest
rest只能放在最后一个参数,为未命名参数的数组
四、变量作用域
var:若在函数内部声明,则函数外部不可使用(闭包)
定义放在最前面
三、函数(方法)
1、定义函数(方法)
// 第一种
function 函数名(x){
内容
}
//第二种
var 函数名 = function(x){
内容
}
2、参数
arguments包含所有传进来的参数
添加…rest
rest只能放在最后一个参数,为未命名参数的数组
四、变量作用域
var:若在函数内部声明,则函数外部不可使用(闭包)
定义放在最前面