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

北京华人博学营销型网站建设公司/seo刷词

北京华人博学营销型网站建设公司,seo刷词,html5网站模板怎么修改,网站建设公司苏州JS对象到原始值转换的复杂性 主要由于某些对象类型存在不止一种原始值的表示 对象到原始值转换的三种基本算法 在解释三种算法前需要了解toString valueOf这两个方法 toString 返回对象的字符串表示Array类的toString方法会将每个元素转换为字符串,再使用逗号作为…

JS对象到原始值转换的复杂性 主要由于某些对象类型存在不止一种原始值的表示

对象到原始值转换的三种基本算法

在解释三种算法前需要了解toString valueOf这两个方法

toString

  • 返回对象的字符串表示
  • Array类的toString方法会将每个元素转换为字符串,再使用逗号作为分隔符拼接起来
  • Function类的toString方法将定义的函数转换为JS源代码的字符串
  • Date类型的toString方法返回一个人类友好(且JS可解析)的日期和时间字符串
  • RegExp类定义的toString方法将RegExp对象转换为一个看起来像RegExp字面量的字符串

valueOf

  • 把对象转换为代表对象原始值(如果存在这样一个原始值)
  • 对象是复合值,且多数对象不能真正通过一个原始值标识,valueOf方法默认情况只返回对象本身
  • String Number Boolean包装类定义的valueOf返回被包装的原始值
  • Array Function RegExp 继承默认方法,返回对象本身
  • Date对象返回日期的内部表示形式: 自1970年1月1日至今的毫秒数

偏字符串 (该算法返回原始值,只要可能就返回字符串)

  • 首先尝试toString方法
  • 方法有定义且返回原始值,则使用该原始值(即使这个值不是字符串)
  • 不存在或者存在但返回对象,则尝试使用valueOf方法
  • 方法存在且返回原始值,则使用该值。
  • 否则,转换失败 TypeError

偏数值 (该算法返回原始值,只要可能就返回数值)

  • 偏字符串算法类似,先尝试valueOf再尝试toString

无偏好 (该算法不倾向于任何原始值类型,而是由类定义自己的转换规则)

  • 取决于被转换对象的类
  • 如果是Date对象,则使用偏字符串算法
  • 其他类型使用偏数值算法

JS内置类型除了Date类都实现了偏数值算法;Date类实现了偏字符串算法

对象转换为布尔值

  • 所有对象都转换为true
  • 不需要使用前面的转换算法
  • 包括空数组、new Boolean(false)包装对象
Boolean({}) // true
Boolean([]) // true
Boolean(new Boolean(false)) /// true

对象转换为字符串

  • 使用偏字符串算法转换为一个原始值
  • 再将原始值转换为字符串
String({}) // '[object Object]'
String([]) // ''
String(new Date(2023)) // 'Sun Jan 01 2023 08:00:00 GMT+0800 (中国标准时间)'
String(new RegExp(/[a-z]/i)) // '/[a-z]/i'

对象转换为数值

  • 使用偏数值算法转换为一个原始值
  • 将原始值转换为数值
Number({}) // NaN
Number([]) // 0
Number([6]) // 6
Number(new Date(2023)) // 1672531200000
Number(new RegExp(/[a-z]i/)) // NaN

操作符转换特例

+操作符

  • 执行数值加法和字符串拼接
  • 如果一个操作数是对象,则使用无偏好算法将对象转换为原始值
  • 如果两个操作数都是原始值,则检查类型
  • 有一个是字符串,则将另一个转换为字符串进行拼接
  • 否则转换为数值进行相加

== != 操作符

  • 允许类型转换的宽松方式执行相等和不相等测试
  • 如果一个操作数是对象 另一个是原始值,则使用无偏好算法转换为原始值 再比较

< <= > >= 关系操作符

  • 既可比较数值也可比较字符串
  • 如果有一个操作数是对象 则使用偏数值算法将对象转换为原始值
  • 与对象到数值转换不同 这个偏数值算法返回的原始值不会再被转换为数值
http://www.jmfq.cn/news/5288725.html

相关文章:

  • 网站内做全文搜索/百度投放广告平台
  • ps与dw怎么做网站/独立网站
  • 嘉定公司网站设计/农产品营销方案
  • 四川外国语大学网站建设系/产品市场营销策划方案
  • 软件商店下载到手机/seo运营是什么
  • 如何做网站的流量分析/深圳网络推广培训
  • 动态网站开发的课题意义/西地那非片的功效与作用
  • 贵州建设职业技术学院官方网站/墨子学院seo
  • 宜宾做直销会员网站/温州seo外包公司
  • php用什么做网站服务器吗/网络营销服务商有哪些
  • 广州企业网站设计方案/十大教育培训机构排名
  • 上海网站建设团队/百度竞价登陆
  • 网站子页面怎么做/结构优化设计
  • 网站建设名字/哈尔滨seo和网络推广
  • 做册子模板素材有哪些网站/全球最牛的搜索引擎
  • 网站如何建设移动端/大概需要多少钱
  • 学校门户网站建设的意义/全网搜索
  • 婚恋交友网站制作/推广普通话的重要意义
  • 网站建设需要会什么软件/关键词优化是什么工作
  • 东台建网站/老铁外链工具
  • 太原做企业网站的/网络销售怎么干
  • 网站建设具体实施方案/中国seo高手排行榜
  • 新沂网站建设/杭州线上推广
  • 做网站的公司简介/凡科建站的优势
  • 阿里巴巴网站导航栏怎么做/成都百度提升优化
  • mysql做wp网站/线上推广平台报价
  • 百度对网站建设公司/公司网站如何制作设计
  • 学校网站的作用/软件推广是什么工作
  • seo上海推广公司/外贸网站如何推广优化
  • 网站建设技术合同/seo营销优化软件