js集结号

JS

变量

var variableName;
  • 大小写敏感

内置类型

  • 基本类型:

    • Null \ undefined \

    undefined 派生自 null,所以 null==undefined; // true

    • boolean:true,false \ 转型函数 Boolean() \ if语句会自动执行Boolean转换
    var t = true;
    t.toString(); // true
    Number(t); // Number(true) => 1
    • string

    字符是不可变的,改变时,先创建新的,再销毁旧的字符串;

    • number

    保存浮点数需要的内存空间是整数的两倍

    不要测试浮点数值(0.1+0.2 == 0.3?)/* false*/

    isNaN(obj)尝试转为数字; isNaN(true); // false,会被转为1

    转换任意类型:Number( ); // ‘10a’: NaN

    转换字符串类型:parseInt( ), parseFloat( )

    • symbol??
  • 对象:Object,引用类型

    • constructor
    • hasOwnProperty
    • isPrototypeOf
    • propertyIsEnumerable
    • toLocaleString
    • toString
    • valueOf
Q:引用类型拷贝问题:
var a = {
    name: "asi"
}
var b=a;
b.name="阿肆";
console.log(a.name); // 阿肆

Typeof

undefined \ string \ number \ boolean \ symbol
object \ function
类型判断: typeof obj === 'string'
Q:
var arr = null;
typeof arr; // object
Object.prototype.toString.call(arr); // [object Null]

类型转换

  • 转Boolean

    除了 null \ undefined \ false \ NaN \ '' \ 0 \ -0 ,
    其余均转为 true,包括对象
  • 对象转基本类型

    先调用 valueOf(),再调用 toString()
    
    var arr = {
      name:"asi",
      valueOf: function(){
          return this.name; // 判断数字试为 NaN,接着执行toString
      },
      toString: function(){
          return 1; // 判断为数字
      }
    }
  • 布尔操作

    • ! 非操作符:始终返回 布尔值,两个一起用返回obj的布尔值
    • &&
    • ||
  • 四则运算

    乘性操作符 * / %: 3/0=Infinity;

  • ==操作符

  • 比较运算符

函数

function funcName(){

}

原型

new

instanceof

this

执行上下文

闭包

深浅拷贝

  • 浅拷贝
  • 深拷贝

模块化

  • CommonJS
  • AMD

防抖

节流

继承

call,apply,bind区别 模拟实现

Promise实现

Generator实现

Map,FlapMap和Reduce

async和await

Proxy

为什么0.1+0.2 != 0.3

正则表达式

  • 元字符
  • 修饰语
  • 字符简写

《 简记 》

ECMAScript标识符使用驼峰法;

ECMAScript数据类型具有动态性;变量为松散类型;

不使用var声明的变量将成为全局变量;

未经初始化的值,默认取到undefined;

ECMAScript中函数是对象,不是一种数据类型。

声明的变量如果是要存储对象,则在声明时最好初始化为 null值;

注释:

// 单行注释
/* 多行注释
* 
*/

代码行位没有分好会导致代码压缩错误,也可以提高想能,检索解析器不用推测在哪里插入分号,提高性能;

valueof( ) toString( )

Q: 阿肆有问题?

typeof obj === ’ ’ ; // 为什么要用全等号?

javascript引擎是什么 ?

ES6新特性

var let

箭头函数

Browser

事件机制

  • 事件触发三阶段
  • 注册事件
  • 事件代理

跨域

  • JSONP
  • CORS
  • document.domain
  • postMessage

Event loop

  • Node中的Event loop
  • 浏览器中的Event loop

存储

  • cookies, localStorage, sessionStorage, indexDB
  • Service Worker

渲染机制

  • Load 和 DOMContentLoaded区别
  • 图层
  • 重绘(Repaint)和回流(R额flow)
  • 减少重绘和回流

HTTP

概念

post 和 get区别

常见状态码

HTTP首部

从输入URL到页面加载完成的过程

CSS

居中

  • 水平
  • 垂直

flex

  • sort

性能优化问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值