JS的数据类型(基础,和java基础一样的就没有过多阐述)

数据类型

数值,文本,图形,音频,视频。。。

变量

var  

number

js不区分小数和整数

123//整数123
123.1//浮点数
1。123e3//科学计数法
-99 //负数

NaN  // not a number 不是一个数
Infinity //表示无限大

字符串

  1. 正常字符串我们使用单引号,或者双引号包裹
  2. 注意转义字符\
\'
\n
\t
\u4e2d  \u#### Unicode 字符
\x41     AscII字符
  1. 多行字符串编写
//tab 上面esc键下面
var msg = `helo
hah
哈哈
giao`
  1. 模板字符串
let name = "bai";
let msg = "你好,${name}"   //输出你好,bai    和+的功能一样
console.log(name)  
  1. 字符串长度
str.length
  1. 字符串的可变性,不可变
    在这里插入图片描述
  2. 大小写转换
//注意,这里是方法,不是属性
student.toUpperCase()
student.toLowerCase()
  1. substring
[)
student.substring(1)  //从第一个字符串截取到最后一个字符串
student.substring(1,3)   //[1,3) 包含第一个不包含第三个

比较运算符

=      //赋值
==    //等于(类型不一样,值一样,也会被判定为true)  如1和‘1’用==判断为true
=== //绝对等于(类型一样,值一样才能被判断为true)

坚持不要是用==进行比较

须知:

  • NaN===NaN,这个与所有的数值都不相等,包括自己
  • 只能通过isNaN(NaN)来判断这个数是否是NaN
console.log((1-3)===(1-2/3))

尽量避免使用浮点数进行运算,存在精度问题!

Math.abs(1/3-(1-2/3))<0.00000001

数组

java的数值必须是相同类型的对象,JS中不需要这样!

//保证代码的可读性,尽量使用[ ]
var arr = [1,2,3,4,5,'hello',null,true];

new Array(1,2,3,4,5,'hello',null,true);

取数组下标:如果越界了,就会 undefined

1.长度

arr.length

注意:加入给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失。
2.indexOf,通过元素获得下标索引

arr.indexOf(2);  //下面的1是数组元素中为2的下标为1
1

字符串的“1”和数字1是不同的
3. slice()
截取Array的一部分,返回一个新数组,类似于String中的substring
4.push(),pop()

push: 压入到尾部
pop:弹出尾部的一个元素
如:  var arr = [1,2,3,4]
        push('a','b');
       // arr数组就会变成[1,2,3,4,"a","b"]
        arr.pop();
        "b"
        //此时arr数组就会变成[1,2,3,4,"a"];

5.unshift(),shift() 头部

unshift()是压入到数组头部
shift()是弹出头部的一个元素
这两个的用法和push()pop()一样,只不过是这两个针对头部

6.排序sort()

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

7.元素反转reverse()

(3)["A","B","C"]
arr.sort()
(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.多维数组

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

对象

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

//Person person = new Person(1,2,3,4,5);
//下面是定义了一个person对象,有四个属性
var person = {
   name:"baixiaobai",
   age:22,
   tags:['js','java','web']
}

1.取对象的值:

person.name=“baixiaobai”   //赋值
“baixiaobai”
person.name       
>"baixiaobai"
person.age
>22

2.使用不存在的对象属性,不会报错! undefined

如:
person.hello
undefined

3.动态的删减属性

delete person.name
true

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

person.haha="haha"
"haha"

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

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

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

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

流程控制里的forEach循环输出数组元素

var age = [12,12,325,234,12,52,32,43,543]
//函数
age.forEach(function (value){   //(foreach是5.1引入的)
  console.log(value)
})

Map和Set

ES6的新特性
Map:

//学生成绩,学生名字
//var names = ["tom","jack","haha"];
//var scores = [100,90,80]

 var map = new Map[['tom',100],['jack',90],['haha',29]]);
 var name = map.get('tom');  通过key获得value
 map.set('admin',1231);       新增或者修改
 map.delete("tom");      删除

Set:无序不重复的集合

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

iterator

遍历数组:

通过for  of  实现遍历数值/  通过for  in 遍历的是下标

var arr = [3,4,5]
for(var  x  of  arr){
   console.log(x)
   }  

遍历map

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

遍历set

var set = new Set([5,6,7]);
for(set x of set){
   console.log(x)
}

严格检查模式

前提:IDEA需要设置支持ES6语法
‘use strict’; 严格检查模式,预防JavaScript的随意性导致产生的一些问题
这行代码必须写在JavaScript的第一行
局部变量建议都是用let去定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值