js题目3(知识点)

1.== 运算符(两个操作数类型不相同时)

如果一个值是null,另一个值是undefined ,则他们相等;

如果一个值是数字,另一个值是字符串,现将字符串转换为数字,然后使用转换后的值进行比较;

如果其中一个值是true,则将其转化为1再比较.如果其中一个值是false,则转换为0 再比较;

如果一个值是对象,另一个值是对象或者字符串,则将对象转换为原始值,在进行比较;

2.跨域访问,主要解决是浏览器的同源策略;同源策略要求协议,域名,端口都必须相同;

3.jsonp是json的一种使用模式,解决主流浏览器的跨域数据访问的问题;jsonp只能进行get请求;

4.普通的函数声明: function ff(){}
构造函数声明 : var foo = new Function ();
函数字面量声明: var foo = function (x) { alert(x ) };

5.变量声明:
在全局作用域中声明的变量,函数会变成window对象的属性和方法
使用var声明的全局变量不可删除
省略var声明的全局变量可删除

(2):声明提升:
console.log(bb); // undefined
var bb = 11;

(3): 重复变量的声明
使用var语句重复声明语句是合法且无害的,js会忽略同一变量的后续声明

(4):js无块级作用域,在全局作用域中声明变量a为window属性

6.require查找模块的顺序

首先加载核心模块,不管有没有同名/同目录的情况下,核心模块优先加载;
其次按照相对路径/绝对路径加载文件模块(加载顺序,首先试图按照
查找.js扩展名的文件,如果没有,试图按照路径查找.json扩展名的文件,
如果还没有,就按照路径查找.node扩展名的)

7.隐式转换:

[] == false -->  [].valueOf() == false --> [].toString() ==   false --> '' == false  --> true
{} == false --> {}.valueOf() ==    false --> {}.toString() == false --> '[object object ]' == false
--> false;

8: import语句

用于从外部模块,其他脚本中导入函数,对象或者原型,这些被导入的模型必须在其他的模块或者脚本中被导出,而非导入文件;
import 是 css的外链链接方式

9.es6的基本数据类型:

Number String Null Undefined Symbol Boolean

用typeof 可以检测出变量的基本数据类型,
但是有个特例,null的typeof返回的是object,是js的最大BUG

10.Symbol是es6 新增的,: 表示独一无二的值

注意,Symbol函数前不能使用new 命令,否则会报错,因为生成symbol是一个原始类型的值,不是对象;

symbol函数可以接受一个字符串作为参数,表示symbol实例的描述,
主要为了在控制台显示,或转为字符串时候,比较容易区分;

symbol值不能跟其他类型的值运算,symbol值作为对象属性名时,不能用点运算符;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值