web前端重点内容

布局、选择器、权重、盒模型、Hack、CSS预处理器,页面加载如何优化

Flexbox、Document flow 优雅降级与渐进增强

JavaScript:

数据类型、运算、对象、Function、继承、闭包、作用域、事件、Prototype、RegExp、JSON、Ajax、DOM、BOM、

内存泄漏、跨域、异步请求、模板引擎、模块化、Flux、同构、算法、ECMAScript6、Nodejs、HTTP

ajax的优缺点
vue angular 小程序 git webpack
解释一下变量声明提升

如何跨域访问

js如何判断一个数组

作用域

含义:变量的作用范围
作用:减少名字冲突,增强代码的可靠性
定义:
局部:变量在函数内声明,变量为局部作用域。局部变量:只能在函数内部访问。因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。
全局:变量在函数外定义,即为全局变量。全局变量有全局作用域: 网页中所有脚本和函数均可使用。如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。JavaScript 变量生命周期在它声明时初始化。局部变量在函数执行完毕后销毁。全局变量在页面关闭后销毁。 你的全局变量,或者函数,可以覆盖 window 对象的变量或者函数。
局部变量,包括 window 对象可以覆盖全局变量和函数。

字符串

字符串无法解析的时候可以用转义字符

字符串可以是对象,通常JavaScript 字符串是原始值,可以使用字符创建: var firstName = "John",但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String("John")
空文本 + 数字得到的运算结果都是把数字转成字符串,无论文本有多少个空格。但是空格会计入长度。html会压缩空格

数字和布尔值相加,布尔值 false 转成 0,true 转成 1

true+1=2

取模运算的结果符号只与左边值的符号有关:

var x = 7 % 3; // 结果为 1
var y = 7 % (-3); // 结果为 1
var z = (-7) % 3; // 结果为 -1

数字与 null(空值) 相加,null 转化为数字 0:

var car=null+3+4;    // 结果为7
运算

多元运算:
https://c.runoob.com/codedemo/3057

function test(p){
    var a=5,b=12;
    return p>1?pb:p=6:p=3; // 这一行中出现了多个问号和冒号,看起来很乱怎么办呢
}
document.write(test(9));//false

三目运算:
8>5 ? true : false ;
其他数据类型转换为布尔类型的规则: null、undefined、0、NaN、空字符串转换为false,其他转化为 true。

  1. 取反 !
    首先把数据转化为布尔值,然后取反,结果为 true 或 false。

  1. 逻辑与 &&
    JavaScript 中逻辑与和其他语言不太一样,如果第一个操作数是 true(或者能够转为 true),计算结果就是第二个操作数,如果第一个操作数是 false,结果就是 false(短路计算),对于一些特殊数值不遵循以上规则。(个人理解为:如果运算的第一个操作数为true,则返回第二个操作数,反之则返回第一个操作数)

undefined和null

null是一个只有一个值的特殊类型。表示一个空对象引用(一个变量不再指向任何对象地址);可以主动释放一个变量引用的对象,表示
null是对象所以可以来清空对象,任何变量都可以通过设置值为 undefined 来清空。 类型为 undefined.

一元运算符 +

Operator + 可用于将变量转换为数字:

var y = "John";   // y 是一个字符串
var x = + y;      // x 是一个数字 (NaN)

你可能感兴趣的:(web前端重点内容)