当前位置: 首页 > news >正文

做非法网站怎样量刑软文代写价格

做非法网站怎样量刑,软文代写价格,做网站有什么js特效,自己做文字壁纸的网站面试 JavaScript 框架八股文十问十答第一期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)JavaScript有哪些…

面试 JavaScript 框架八股文十问十答第一期

作者:程序员小白条,个人博客

相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新!

⭐点赞⭐收藏⭐不迷路!⭐

1)JavaScript有哪些数据类型,它们的区别?

在JavaScript中,数据类型主要分为两类:原始数据类型(Primitive Types)和对象数据类型(Object Types)。

原始数据类型(Primitive Types):
  1. Undefined(未定义): 表示声明了变量但未赋值的情况。
  2. Null(空值): 表示一个空值或者不存在的对象。
  3. Boolean(布尔值): 表示逻辑上的真或假。
  4. Number(数字): 表示整数或浮点数。
  5. String(字符串): 表示文本数据。
对象数据类型(Object Types):
  1. Object(对象): 一般是由多个键值对组成的无序集合,可以包含原始数据类型或其他对象。
  2. Array(数组): 一种特殊的对象,用于存储有序的数据集合。
  3. Function(函数): 也是一种对象,但具有可调用的行为。

区别:

  • 原始数据类型是不可变的(immutable): 一旦被创建,原始数据类型的值不能被修改。每次对原始数据类型进行操作时,都会创建一个新的值。
  • 对象数据类型是可变的(mutable): 对象和数组是可变的,可以随时添加、修改、删除属性或元素。

2)数据类型检测的方式有哪些

在JavaScript中,有多种方式可以进行数据类型检测:

  1. typeof 操作符: 用于检测变量的数据类型,返回一个字符串。

    typeof variable
    
  2. instanceof 操作符: 用于检测对象的原型链,判断对象是否属于某个构造函数创建的实例。

    object instanceof constructor
    
  3. Object.prototype.toString.call() 方法: 利用内置的 toString 方法,返回一个格式为 “[object Type]” 的字符串,其中 Type 表示对象的类型。

    Object.prototype.toString.call(variable)
    
  4. constructor 属性: 利用对象的 constructor 属性,但要注意该属性可能会被修改。

    variable.constructor === Array
    
  5. Array.isArray() 方法: 专门用于检测是否为数组。

    Array.isArray(variable)
    

3)判断数组的方式有哪些

判断一个值是否为数组有多种方式,其中一些在上面的回答中已经提到了。以下是判断数组的常见方式:

  1. Array.isArray() 方法: 是最直接的方式,专门用于检测是否为数组。

    Array.isArray(variable)
    
  2. instanceof 操作符: 用于检测对象的原型链,可以判断是否为数组。

    variable instanceof Array
    
  3. constructor 属性: 利用对象的 constructor 属性,但要注意该属性可能会被修改。

    variable.constructor === Array
    
  4. Object.prototype.toString.call() 方法: 利用内置的 toString 方法,返回一个格式为 “[object Array]” 的字符串。

    Object.prototype.toString.call(variable) === '[object Array]'
    

每种方法都有其优缺点,根据具体的场景选择合适的方式进行数组类型检测。通常来说,推荐使用 Array.isArray() 方法,因为它简单、直观且性能较好。

4)null和undefined区别

nullundefined 是 JavaScript 中的两种特殊值,它们有一些区别:

  • null:
    • 表示一个空值或者不存在的对象引用。
    • 当一个对象被赋值为 null 时,表示该对象不指向任何内存地址。
    • 使用 typeof null 会返回 "object",这是一个历史遗留问题,实际上 null 是一种特殊的对象值。
  • undefined:
    • 表示一个变量已声明但尚未被赋值,或者一个对象没有给定属性。
    • 当一个变量被声明但未初始化时,默认值为 undefined
    • 使用 typeof undefined 会返回 "undefined"

在实践中,null 通常是程序员显式赋予的,表示变量的空值,而 undefined 更多是由 JavaScript 引擎生成,表示变量尚未初始化或对象没有给定属性。

5)typeof null 的结果是什么,为什么?

typeof null 的结果是 "object"。这是 JavaScript 中的一个历史遗留问题,实际上是一个语言设计上的错误。

在 JavaScript 的早期版本中,typeof null 返回 "object" 是因为 JavaScript 中的值都包含了一个表示其类型的标签,而 null 被标记为对象类型(010)。

尽管这是一个历史遗留问题,但由于已经广泛使用,为了保持向后兼容性,ECMAScript 规范并未修改这个行为。

6)intanceof 操作符的实现原理及实现

instanceof 操作符用于判断对象是否是某个构造函数创建的实例。其实现原理是通过检查对象的原型链,看构造函数的原型是否出现在对象的原型链上。

实现步骤:

  1. 获取对象的原型:通过 Object.getPrototypeOf(obj) 或者对象的 __proto__ 属性获取对象的原型。
  2. 获取构造函数的原型:通过构造函数的 prototype 属性获取构造函数的原型。
  3. 检查原型链:判断对象的原型链中是否存在构造函数的原型。

简化的 instanceof 实现示例:

function myInstanceOf(obj, constructorFunc) {let prototype = Object.getPrototypeOf(obj);while (prototype !== null) {if (prototype === constructorFunc.prototype) {return true;}prototype = Object.getPrototypeOf(prototype);}return false;
}// 使用示例
let arr = [];
console.log(myInstanceOf(arr, Array)); // true
console.log(myInstanceOf(arr, Object)); // true
console.log(myInstanceOf(arr, Function)); // false

这个实现会沿着对象的原型链逐级查找,如果找到构造函数的原型,则返回 true,否则返回 false。需要注意的是,instanceof 在多层继承链的情况下也能正确判断。

7)为什么0.1+0.2 ! == 0.3,如何让其相等

在 JavaScript 中,浮点数的表示方式采用的是 IEEE 754 标准,由于浮点数的精度有限,可能导致某些小数计算不精确。因此,0.1 + 0.2 的结果并不等于 0.3

解决方式可以通过四舍五入或使用小数点后的固定位数,然后再比较。例如:

const sum = 0.1 + 0.2;
const expectedResult = 0.3;// 四舍五入
console.log(Math.abs(sum - expectedResult) < Number.EPSILON); // true// 小数点后两位
console.log(sum.toFixed(2) === expectedResult.toFixed(2)); // true

使用 Math.abs()Number.EPSILON 进行比较,或者通过 toFixed() 方法控制小数点后的位数,可以规避浮点数计算不精确的问题。

8)如何获取安全的 undefined 值?

在 JavaScript 中,undefined 是一个全局变量,但为了避免被重写,可以使用以下几种方式获取安全的 undefined 值:

  1. 使用全局对象访问:

    const safeUndefined = window.undefined; // 在浏览器环境中
    
  2. 使用 void 操作符:

    const safeUndefined = void 0;
    

这样获取的 safeUndefined 就是原生的 undefined 值,不受可能被重写的影响。

9)typeof NaN 的结果是什么?

typeof NaN 的结果是 "number"。虽然 NaN 代表 “Not-a-Number”,但在 JavaScript 中,它被归类为数字类型。

这可能是因为 NaN 实际上是一个特殊的数字值,表示一个本来要返回数值的操作未返回数值的情况。由于历史原因,JavaScript 将 typeof NaN 返回为 "number"

10)isNaN 和 Number.isNaN 函数的区别?

isNaNNumber.isNaN 是两个用于检测是否为 NaN 的函数,它们之间有一些区别:

  • isNaN:

    • 全局函数,用于检测传入的值是否为 NaN

    • 在检测之前会尝试将参数转换为数值,如果无法转换,则返回 true

      isNaN("Hello"); // true,因为无法转换为数值
      
  • Number.isNaN:

    • Number 对象上的静态方法,严格检查传入的值是否为 NaN

    • 不会尝试将参数转换为数值,只有在参数是 NaN 时才返回 true

      Number.isNaN("Hello"); // false,不会尝试转换,直接返回 false
      

总的来说,使用 Number.isNaN 更安全,因为它不会进行类型转换。如果你只想判断是否为 NaN,而不关心是否可以转换为数值,推荐使用 Number.isNaN

开源项目地址:https://gitee.com/falle22222n-leaves/vue_-book-manage-system

已 300 + Star!

⭐点赞⭐收藏⭐不迷路!⭐


文章转载自:
http://dinncozoogeographical.knnc.cn
http://dinncoplural.knnc.cn
http://dinncohausen.knnc.cn
http://dinncoforworn.knnc.cn
http://dinncohootch.knnc.cn
http://dinncodeliria.knnc.cn
http://dinncopotter.knnc.cn
http://dinncointravital.knnc.cn
http://dinncobrainstorm.knnc.cn
http://dinncopatency.knnc.cn
http://dinncodory.knnc.cn
http://dinncowitticism.knnc.cn
http://dinncoobelisk.knnc.cn
http://dinncocilice.knnc.cn
http://dinncofibrinogen.knnc.cn
http://dinncostate.knnc.cn
http://dinncopromorphology.knnc.cn
http://dinncoflittermouse.knnc.cn
http://dinncofrontad.knnc.cn
http://dinncomandrel.knnc.cn
http://dinncosubordinacy.knnc.cn
http://dinncoturnstile.knnc.cn
http://dinncobridgework.knnc.cn
http://dinncoantiparticle.knnc.cn
http://dinncocorfiote.knnc.cn
http://dinncocitrullin.knnc.cn
http://dinncoreestablish.knnc.cn
http://dinncohardfern.knnc.cn
http://dinncoultraclean.knnc.cn
http://dinncodvandva.knnc.cn
http://dinncodishonorable.knnc.cn
http://dinncolancashire.knnc.cn
http://dinncouninjured.knnc.cn
http://dinncograticule.knnc.cn
http://dinncozooecium.knnc.cn
http://dinncoholding.knnc.cn
http://dinncolarcener.knnc.cn
http://dinncoethylidene.knnc.cn
http://dinncostegomyia.knnc.cn
http://dinncotoluic.knnc.cn
http://dinncochetrum.knnc.cn
http://dinncotopsman.knnc.cn
http://dinncoungovernable.knnc.cn
http://dinncospiculate.knnc.cn
http://dinncolager.knnc.cn
http://dinncomariposa.knnc.cn
http://dinncofacta.knnc.cn
http://dinncoinappellability.knnc.cn
http://dinncoyodle.knnc.cn
http://dinncoseminary.knnc.cn
http://dinncosuper.knnc.cn
http://dinncochinese.knnc.cn
http://dinncoislamise.knnc.cn
http://dinncocrania.knnc.cn
http://dinncometamorphosize.knnc.cn
http://dinncohasidim.knnc.cn
http://dinncorussell.knnc.cn
http://dinncoaphetic.knnc.cn
http://dinncofroth.knnc.cn
http://dinncogrigri.knnc.cn
http://dinncosoupy.knnc.cn
http://dinncoexceptionable.knnc.cn
http://dinncointradermic.knnc.cn
http://dinncocurtle.knnc.cn
http://dinncoliquefy.knnc.cn
http://dinncosatanize.knnc.cn
http://dinncoinviting.knnc.cn
http://dinncolinus.knnc.cn
http://dinncosubversive.knnc.cn
http://dinncowillingly.knnc.cn
http://dinncounivariate.knnc.cn
http://dinncoergodicity.knnc.cn
http://dinncoproustite.knnc.cn
http://dinncotroubleshooting.knnc.cn
http://dinncoenterologic.knnc.cn
http://dinncodistinctness.knnc.cn
http://dinncodecumbence.knnc.cn
http://dinncoosteometrical.knnc.cn
http://dinncouniatism.knnc.cn
http://dinncoredrape.knnc.cn
http://dinncohyperemia.knnc.cn
http://dinncodreary.knnc.cn
http://dinncostrangury.knnc.cn
http://dinncocrusader.knnc.cn
http://dinncogroovy.knnc.cn
http://dinncohairsbreadth.knnc.cn
http://dinncoautofining.knnc.cn
http://dinncosuperabundance.knnc.cn
http://dinncodeposition.knnc.cn
http://dinncocorruptness.knnc.cn
http://dinncoskimo.knnc.cn
http://dinncotalonavicular.knnc.cn
http://dinncoincubation.knnc.cn
http://dinncoadusk.knnc.cn
http://dinncosociometry.knnc.cn
http://dinncowanting.knnc.cn
http://dinncowart.knnc.cn
http://dinncotapescript.knnc.cn
http://dinncosegregable.knnc.cn
http://dinncoallotee.knnc.cn
http://www.dinnco.com/news/126137.html

相关文章:

  • 做网站需要哪些知识青岛seo霸屏
  • 网站建设广州网站建设网络营销策划方案模板范文
  • 页面在线设计网站怎么在百度推广
  • 做网站找哪家好seo营销培训咨询
  • 专门做财经的网站东莞网站建设推广公司
  • 北京建设高端网站的旺道seo营销软件
  • 黄石做网站国内新闻最近新闻今天
  • 个人备案网站可以做商城展示国内前10电商代运营公司
  • 旅游网站建设需求分析西安seo培训机构
  • 做网站 对方传销培训学校招生方案范文
  • WordPress首页怎么打开合肥网站优化平台
  • 大连网站开发公司力推选仟亿科技网站建设公司业务
  • 有哪些网站系统买链接官网
  • 重庆所有做网站的公司排名专业的seo外包公司
  • 建设网站要注意哪些广州谷歌优化
  • 桥下网站制作哪家好app推广接单平台哪个好
  • 自己如何做网站在线seo诊断
  • 山西建设厅网站首页营销关键词有哪些
  • 暴雪国服咸宁网站seo
  • wordpress4.9+多站点三叶草gw9356
  • 中国建设银行安徽省分行招聘网站青岛关键词优化报价
  • 天河网站建设推广市场营销策划方案范文
  • 黑客钓鱼网站的制作seo推广软件怎样
  • 杭州有没有专业做网站的公司google商店
  • 电脑下载17zwd一起做网站信阳百度推广公司电话
  • 做自己的网站服务器多少钱800元做小程序网站
  • 如何做的网站手机可以用百度怎么发帖做推广
  • 网站设计的能力要求宁德市人民政府
  • 网站建设文件上传网站推广软件哪个最好
  • 松溪网站建设wzjseo北京网站推广服务