JS :-)

Posted 丧心病狂工科女

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS :-)相关的知识,希望对你有一定的参考价值。

进程与线程的区别
进程是 CPU 资源分配的最小单位 进程可以包含多个线程;线程是 CPU 调度的最小单位;一个进程由多个线程组成;线程是一个进程中代码不同的执行路线;进程之间相互独立 但是同一进程下的线程可以共享进程内的资源

JS 数据类型
JS 数据类型有 7 种 Number Boolean String Null Unedfined Object + Symbol(ES6 加的)
基本类型:Number Boolean String Null Unedfined
引用类型:Object
Symbol 类型的对象用不相等 即创建的时候传入相同的值 可以解决属性名冲突的问题 作为标记

JS 判断数据类型
typeof :string number boolean symbol bigint undefined object function
typeof(null) = object 因为 null 表示一个空对象指针 所以是 object
instanceof:判断引用数据类型:object function array date regexp 判断一个实例是否属于某种类型 原理是右边变量的 prototype 在左边变量的原型链上即可 在 instanceof 查找时会遍历左边变量的原型链直到找到右边变量的 prototype
constructor:函数被定义的时候 JS 引擎会为其添加 prototype 然后再 prototype 上有 constructor 属性 指向引用 但是不可以用 constructor 判断 null 和 undefined 因为他们是无效的对象不会有 constructor ; JS 的constructor 是不稳定的 主要体现在自定义对象上 开发者重写 prototype 之后原有的 constructor 会丢失 变成默认的 object
Object.prototype.toString():判断最准

列举三种强制类型转换和两种隐式类型转换
强制:parseInt parseFloat Number
隐式:== ===

ajax 中 post 和 get 区别
发送机制区别:
1.get 可以再 URL 上添加请求参数 没有请求主体; post 的请求是作为 HTTP 的实体内容发送给 web 有请求主体
2.get 获得的数据会被浏览器缓存 这就导致安全问题
3.post 必须设置请求头 Content-Type 值为 application/x-form-www-urlencoded
4.get 大小限制 4k(1024 字节) post 没有限制
服务器端区别:
1.客户端使用 get 时服务器端用 Request.QueryString 获得参数 用 post 时用 Request.Form 获得参数
2.post 用于创建资源 资源的内容会被加到 HTTP 请求中
3.无副作用的请求用 get 有副作用的请求用 post
用 post 的情况:
1.请求结果有持续的副作用 比如在数据库添加数据
2.如果用 get 使 URL 过长
3.要传送的数据不是用 ASC 编码
用 get 的情况:
1.查找资源
2.无持续性副作用
3.手机的数据和 html 表单输入字段名称不超过 1024 字符

call 和 apply 的区别

以上是关于JS :-)的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个js中调用另一个js,以及载入多个有依赖关系的js

js文件如何引用外部js

在js中获取作成者

怎么调用外部js文件?

web--JS 基础实例汇总

怎么合并js