Javascript基础知识整理

变量声明

var 全局作用域 可能会引起冲突 大多数情况下不用
let const 是从ES6添加的

let 和 const 的区别在于
let可以重新赋值
const不可以

所以大多数情况下都是用const 因为不可重新赋值可以
让程序安全少出错

除非有重新赋值的需求 不然就用const

const 声明变量时必须赋值 不然会报错
let可以声明且不赋值

数据类型

六种基础数据类型:
string 、 number、 boolean、 null 、undefined 、symbol(ES6)

console.log(typeof ‘变量名’) 判断变量类型
如果变量为null 返回可能为 object.

字符串模板 :使用反引号 `` 模板里变量用${}

字符串属于string对象,也继承有string对象的的属性和方法
cons s = ‘hello world’

属性:
conslog.log(s.length) 控制台输出: 12

1、length 返回字符串长度

▲ 方法有括号.toUpperCase(),属性没有.length
▲ 方法和属性可以链式嵌套
方法:
conslog.log(s.toUpperCase()) 控制台输出: HELLO WORLD

1、返回大写 :toUpperCase()
2、截取字符串: substring(num1,num2) num1,num2为字符串起始位置
3、分割字符串: split() 返回分割号的字符数组

数组

数组的几个常用方法
push 添加一项
pop 去掉最后一项

判断是否为数组 Array.isArray(xxx)
得到索引 .indexof(‘数组某一项’) 会返回该项的索引值

对象

对象:键值对,可嵌套
const person = {
  firstName: ‘t1’
  lastName: ‘t2’
  add: {
  city: ‘sh’,
  state: ‘MA’
   }
}

嵌套对象访问 console.log(persion.add.city) 控制台输出 :sh

▲解构 重构
const { firstName , lastName , add:{city} } = persion

console.log(city) 😃 输出: sh

▲直接添加属性
persion.email = “001@qq.com”
console.log(persion.email) 输出: 001@qq.com

数组对象

const todos = [
{
 id : 1,
 text:‘apple’
 isCompleted: true
},{
 id : 1,
 text:‘apple’
 isCompleted: true
}
]

它和json语法很相似,json的键使用双引号,字符串也是双引号。json中没有单引号,有则报错。
有支持数组对象转换为json语法的网页


  “iconList”: [{
   “id”: “0001”,
    “imgUrl”: “http:1.png”,
   “desc”: “景点门票”
   }, {
   “id”: “0002”,
   “imgUrl”: “http:2.png”,
   “desc”: “滑雪季”
  }]

在代码中也可以用脚本将对象转换为json数据发送给服务器,

const todoJSON = JSON.stringify(todos)
console.log(todoJSON) 这时候控制台会输出todos数据的json格式数据

循环
普通循环 for循环、while循环

for(let i = 0 ; i < todos.length; i++){
 sonsole.log(todos[i].id)
}

另一种循环方式:
for(let todo of todos){
 sonsole.log(todo.id)
}

高级数组方法:
forEach ---- 循环遍历
map ---- 循环遍历创建新数组
filter ---- 根据条件创建新数组

todos.forEach (function(todo){
sonsole.log(todo.text);
})

const A = todos.map (function(todo){
return todo.id
})
会返回一个普通数组。包含todos每项的id值。

const B = todos.map (function(todo){
return todo.isComplete === true
}
会返回符合条件的每项的所有数据。成为一个新数组。

所有方法也可以链式使用:
const B = todos.map (function(todo){
return todo.isComplete === true
}…map (function(todo){
return todo.id
})
会返回符合todo.isComplete === true条件的每一项中的id值
成为一个新数组。

条件语句
if— else if — else
switch (){ case ‘条件’ : 执行;break; default(都不满足情况) : 执行;break;}
一些常用操作符
与 &&
或 ||
非 !
三元操作符 ? const = ‘条件’ ? ‘true’ : ‘false’

函数
function addNum(num1, num2){
 sonsole.log(num1+num2)
}
addNum(4,5) ; 结果:9

直接在形参那里赋值的意义是:给形参一个默认值。
function addNum(num1 = 1, num2 = 2)
直接调用函数的结果是 3
传入参数调用函数的结果依然是根据传入参数计算的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值