JavaScript学习笔记(一):严格检查模式与数据类型

一、严格检查模式strict

前提:IDEA需要支持ES6语法

必须写在第一行

‘use strict’;严格检查模式,预防javascript的随意性导致产生的一些问题

局部变量建议都使用let去定义

<script>
	'user strict';
	//全局变量
	let i = 1;
</script>
二、数据类型

number
js不区分小数和整数

123//整数
123.1//小数
1.123e4//科学计数法
-99//负数
NaN//not a number
Infinity//表示无限大

比较运算符 ! ! !

=//赋值运算符
==//等于(类型不一样,值一样,也会被判断为true)
===//绝对等于(类型一样,值一样,结果为true,否则为false)

一般都用===,==有可能会出现错误

须知:

  • NaN,这个值与所有的数值都不想等,包括自己
  • 只能通过isNaN(NaN)来判断这个数是否是NaN

null和undefined

  • null 空指针
  • undefined 未定义的量

数组
java的数组必须是相同类型的对象,js中不需要这样

var arr = [1,2,3,4,5,6];
arr[0];
arr[0] = 1;

1.长度

arr.length

注意:假如给arr.length赋值,数组大小就会发生变化。如果赋值过小,元素就会丢失

2.indexOf
通过元素获得下标索引

3.slice()
数组版的substring,可以截取Array的一部分,返回一个新的数组

4.push(),pop()

push:压入到数组尾部
pop:弹出尾部的一个元素

5.unshift(),shift()

unshift:压入到头部
shift:弹出头部的一个元素

6.排序 sort()

(3)["B","C","A"]
arr.sort()
(3)["A","B","C"]

7.元素反转 reverse()

(3)["A","B","C"]
arr.reverse()
(3)["C","B","A"]

8.concat()

(3)["C","B","A"]
arr.concat([1,2,3])
(6)["C","B","A",1,2,3]
arr
(3)["C","B","A"]

注意:concat()并没有修改数组,只是会返回一个新的数组

9.连接符 join
打印拼接数组,使用特定的字符串连接

(3)["C","B","A"]
arr.join('-')
"C-B-A"

10.多维数组
11. 取数组下标:如果越界了,就会

undefined

对象
数组用中括号,对象用大括号。
每个属性之间用逗号隔开,最后一个不需要添加逗号

//若干个键值对
var 对象名 = {
	属性名:属性值,
	属性名:属性值,
	属性名:属性值,
	属性名:属性值
}

//Person person = new Person(1,2,3,4,5)
var person = {
	name:"qinjiang",
	age:3,
	email:"24736743@qq.com",
	score:0
}

JavaScript中的所有键都是字符串,值是任意对象!

1.取对象的值

person.name
> "qinjiang"
person.age
> 3

使用一个不存在的对象,不会报错! undefined

2.对象赋值

person.name = "qinjiang"
"qinjiang"
person.name
"qinjiang"

3.动态删减属性,通过delete动态删除对象的属性

delete person.name
true
person

4.动态添加属性,直接给新的属性添加值

person.haha = "haha"
"haha"
person

5.判断属性值是否在这个对象中 ××× in ×××

'age' in person
true
//继承
'toString' in person
true

6.判断一个属性是否是这个对象自身拥有的 hasOwnProperty()

person.hasOwnProperty('toString')
false
person.hasOwnProperty('age')
true

字符串
1.多行字符串编写
使用tab上面的单反引号包裹

var msp = `
	hello
	world
	你好`

2.模板字符串

let name = "qinjiang";
let age = 3;
let msg = `你好呀,${name}`

3.字符串长度

str.length

4.字符串的可变性,不可变
5.大小写转换

//注意,这里是方法,不是属性
student.toUpperCase()
student.toLowerCase()

6.student.indexOf(‘t’)
获取第一个t字母的下标
7.substring

[)
student.substring(1);//从第一个字符截取到最后一个字符
student.substring(1,3);//[1,3)

ES6新特性
1.Map

var map = new Map([['tom',100],['jack',99],['haha',80]]);
var name = map.get('tom');//通过key获得value
map.set('admin',123456);//新增或修改
map.delete('tom');//删除

2.Set


set.add(2);//添加
set.delete(1);//删除
console.log(set.has(3));//是否包含某个元素

3.iterator
遍历数组

//通过for of 实现遍历
//for in 中x显示的是下标
var arr = [3,4,5];
for(var x of arr){
	console.log(x);
}

遍历map

var map = new Map([['tom',100],['jack',99],['haha',80]]);
for(let x of map){
	console.log(x);
}

遍历set

var set = new Set([5,6,7]);
for(let x of set){
	console.log(x);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值