美文网首页
Javascript(2)

Javascript(2)

作者: 雪国_youth | 来源:发表于2021-01-20 13:34 被阅读0次

数据类型:

1、字符串类型

  • 正常字符串使用单引号双引号来包裹
    转义字符:
    \ ' , \ n , \ t
    \ uXXXX→unicode 码
    \ xXX→Latin-1 字符(x小写)

  • 多行字符串:用反引号来包裹,即 `。

  • 模板字符串:用${ }来包裹。

let name = "xiaoming";
let age = 3;
let msg = `你好呀,我叫${name},今年${age}岁。`
  • 长度字符串str.length
  • JS中字符串是不可变的
    可像数组一样用下标来获取字符串中的元素。
  • 大小写转换 (方法)
    ①转大写:student.toUpperCase()
    ②转小写:student.toLowerCase()
  • 获取下标student.indexOf( ' t ' ),这里的结果为1。
  • 截取字符串(x,y),包含x,不包含y
student.substring(1)//从第2个字符串截取到最后一个字符串,结果为tudent
student.substring(1,3)//从第2个字符串截取到第3个字符串,结果为tu

2.数组

Array可以包含任意的数据类型

  • 如何定义一个数组?
var arr = [1,2,3,4,5,6];
  • 数组长度:arr.length
  • 获取元素对应下标:indexOf()
arr.indexOf(2)//结果为1
  • slice():截取Array的一部分,返回一个新的数组,类似于String(字符串)中的substring。
  • 尾部操作
    ①push():压入到尾部。
    ②pop():弹出一个尾部元素。
    头部操作
    ①unshift():压入到头部。
    ②shift():弹出一个头部元素。
  • 数组排序
arr1.sort()
  • 反转
arr2.reverse() 
  • 拼接
arr2.concat([1,2,3])
  • 连接符join:(用自己特定的字符)join('加入自己定义的字符'),
arr2.join('-')
  • 多维数组
var arr=[[1,2],[2,3],[3,4]]

3、对象类型

  • 如何定义一个对象:(最后一个属性不加逗号)
    如果使用不存在的对象属性,显示undefined.
var 对象名 = {
  属性名: 属性值,
  属性名: 属性值,
  属性名: 属性值
}
  • person.name="输入另一个属性",直接赋值即可
  • 动态的添加:直接给新的属性添加值
  • delete person.属性→删除,删除一个不存在的属性会返回undefined.
  • 判断属性值是否在这个对象中 'xxx' in xxx,如果在,结果就是true
  • person.hasOwnPorperty(' ')→观察对象是否有这个属性
  • person['属性']→属性值
    PS:JS中的所有的键是字符串值是任意对象

4、分支与循环

if判断

if(){
alert(" ")
}
else if()
{
alert(" ")
}
else
{

}

while和do-while循环
do-while一定会执行一次,while先判断,有可能会不执行。

while(i<100) {
  i=i+1;
  console.log(i);
}
do {
  i=i+1;
  console.log(i);
}while(i<100)

③for循环

for(let i=0;i<100;i++) {
  console.log(i);
}

④forEach循环

var arr = [1,2,3,4];
arr.forEach(function(value,index,arr) {
  console.log(value)
})//通过函数

⑤for...in循环

for(var index in arr) { 
  console.log(arr[num])
}

5、map和set

①map

var map = new Map([['tom',100],['jack',90],['peter',80]]);
var name1 = map.get('tom');//通过key获得value
map.set('david',60);//新增或修改
map.delete("tom");//删除

②set:无序不重复的集合
添加:set.add();
删除:set.delete();
是否包含某个元素:set.has();

6、iterator迭代

  • 可迭代对象
    Set
    Map
    String
    Array
    Arguments
    NodeList
  • 判断是否拥有可迭代能力
    当一个数据具备Symbol.iterator属性的时候,才可以用for...of进行迭代。
console.log(Array.prototype.hasOwnProperty(Symbol.iterator));
console.log(Set.prototype.hasOwnProperty(Symbol.iterator));
  • 数据是可迭代对象,却不能使用next(),因为可迭代对象不是迭代器,迭代器才有next()方法
  • 将不可迭代的数据转换可迭代数据
    使用for...of
  • for...in下标

相关文章

网友评论

      本文标题:Javascript(2)

      本文链接:https://www.haomeiwen.com/subject/nmeczktx.html