技术分享之JS基础

一、基础知识

1. 组成三部分
  • 核心(ECMAScript)
    ECMAScript提供核心语言功能,规定了js的语法、类型、语句、关键字、保留字、操作符、对象
  • 文档对象模型(DOM)
    提供访问和操作网页内容的方法和接口
  • 浏览器对象模型(BOM)
    提供与浏览器交互的方法和接口
2. 数据类型

简单数据类型(基本数据类型):
Undefined、Null、Boolean、Number、String、Symbol (es6新增)

复杂数据类型:
Object (包括 Array、Function、Object)

所有值最终都是7种数据类型之一。

数据类型检测:js-检测数据类型

3. 操作符

这里主要讲一下布尔操作符。
(1)逻辑非 !
先转换为布尔值,再求反。
!! 模拟 Boolean()转型函数。
(2)逻辑与 &&
都是true返回true,有false返回false。不一定返回布尔值,可以返回对象等。
短路操作符:如果第一个操作数求值结果为false,第二个操作数不会求值。
应用:callback && callback()
(3)逻辑或 ||
有true返回true,都是false返回false。不一定返回布尔值,可以返回对象等。
短路运算符:如果第一个操作数求值结果为true,第二个操作数不会求值。
应用:data = result || []

4. 语句

条件语句:if…else if…else, switch…case
循环语句:while, do…while, for循环

控制语句执行:break 和 continue

  • break语句,立即退出循环(整个),强制继续执行循环后面的语句;
    –> 终止循环
  • continue语句,立即退出循环(本次),退出后从循环的顶部继续执行。
    –> 跳出本次循环,继续下一次循环
5. 数组方法

检测类型:instanceof,isArray()
转换方法:toString(),valueOf(),toLocaleString(),join()
栈和队列方法:push(),pop(),shift(),unshift()
重排序方法:reverse(),sort()
操作方法:concat(),slice(),splice()
位置方法:indexOf(),lastIndexOf()
迭代方法:every(),some(),filter(),map(),forEach()
归并方法:reduce(),reduceRight()

6. 函数的几个注意点
  1. 函数内部属性
    函数内部,有两个特殊的对象: argumentsthis
    arguments可以获取函数参数,arguments对象的长度由传入的参数个数决定,不是由定义函数时的命名参数的个数决定。(伪数组)
    this引用的是函数据以执行的环境对象,全局调用函数this指向window。

  2. apply 和 call
    apply(this值,参数数组)
    call(this值,参数1,参数2…)
    apply和call都是在特定的作用域中调用函数,相当于设置函数体内 this 对象的值。
    强大之处:能够扩充函数赖以运行的作用域。

7. 基本包装类型

Boolean、Number 和 String

  • 字符串方法
    字符方法:charAt(),charCodeAt()
    字符串操作方法:concat(),slice(),substring(),substr()
    字符串位置方法:indexOf(),lastIndexOf()
    去除空白字符方法:trim()
    字符串大小写转换方法:toLowerCase(),toUpperCase()
    字符串的模式匹配方法:match(),search(),replace(),split()

二、创建对象

15-JavaScript高级程序设计-创建对象

三、继承

16-JavaScript高级程序设计-继承

四、高级应用(下次介绍)

  1. 递归
  2. 闭包
  3. 私有变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值