位置: IT常识 - 正文

js字符串转换为对象格式的3种方法(js字符串转换为数字类型)

编辑:rootadmin
js字符串转换为对象格式的3种方法

推荐整理分享js字符串转换为对象格式的3种方法(js字符串转换为数字类型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js字符串转换为数值,js字符串转换为日期格式,js字符串转换为数组,js字符串转换为数组,js字符串转换为对象,js字符串转换为数组,js字符串转换为日期,js字符串转换为整数,内容如对您有帮助,希望把文章链接给更多的朋友!

背景:

js字符串转换为对象格式,一般都会想到JSON.parse(),但数据不是标准的 JSON 格式的时候会解析出错,这时候就可以使用eval() 函数、new Function()方法来转换。

常用3种将字符串string转为json对象 方法:

var str = '{"name":"小明","age":18}';var json = JSON.parse(str);//第一种var json2 = eval("(" + str + ")");//第二种var json3 = (new Function("return " + str))();//第三种

 打印效果:

 

详细说明:

JSON.parse()

语法:

JSON.parse(text[, reviver]);//text:必需, 一个有效的 JSON 字符串。//reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。

解析前要确保你的数据是标准的 JSON 格式,否则会解析出错。

情况一:有的人可能会习惯写成对象形式的字符串,如:str = '{name:"小明",age:18}'; 结果使用JSON.parse()来转化会报错,因为使用JSON.parse需严格遵守JSON规范。

情况二:JSON.parse使用单引号来套双引号,如果反过来写呢,如:var str = "{'name':'小明', 'age':18}";(相信也不少人习惯用双引号套单引号) 结果使用JSON.parse()来转化也会报错 

js字符串转换为对象格式的3种方法(js字符串转换为数字类型)

eval() 函数

定义和用法:

eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。

如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。

语法:

eval(string)参数描述string必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。

eval()的返回值

eval()的返回值遵循以下规则:

1.如果eval()的参数不是字符串,那么eval()将直接返回参数。

2.如果eval()的参数是字符串,那么eval()将这个字符串解析成代码后进行执行,并返回最后一行代码执行的结果。

3.如果字符串无法解析成合法的代码,eval()将抛出SyntaxError错误 

new Function()

这个特殊的new Function表面看起来很奇怪,但在实践中显得非常有用。

语法:

let func = new Function(arg1, arg2, ..., body);

历史原因,参数也可以以逗号分隔的列表的形式给出。

这三个意思相同:

new Function('a', 'b', 'return a + b'); // 基础语法new Function('a,b', 'return a + b'); // 逗号分隔new Function('a , b', 'return a + b'); // 逗号加空格分隔

使用new Function创建的函数,其[[Environment]]引用全局词法环境,而不是包含该函数的外部词法环境。因此,他们不能使用外层的变量。但这确实很好,因为它可以使我们免于错误。明确地传递参数在架构上是一种更好的方法,并且不会在使用minifiers时不会产生问题。 

本文链接地址:https://www.jiuchutong.com/zhishi/297742.html 转载请保留说明!

上一篇:【小沐学C++】C++ MFC中嵌入web网页控件(WebBrowser、WebView2、CEF3)

下一篇:HTML与PyCharm

  • 金税开票软件下载安装
  • 折旧年限与税法有关吗
  • 营改增后土地增值税应税收入的确认
  • 上下班出了事故算不算工伤
  • 社保阶段性减免延长到年底
  • 库存现金期末余额
  • 处置固定资产简易征收
  • 减半征收附加税退回的分录
  • 公司报销生育津贴,孕期还需要去社保局备案吗
  • 非行政性罚款可以撤销吗
  • 营改增服务
  • 企业缴纳的财产保险费会计分录
  • 小规模纳税人销售额
  • 办理异地租房提取公积金流程
  • 报无票收入又开发票了怎么办?
  • 利润为负会计分录
  • 个税申报中工资薪金是不是全年实际工资
  • 营改增后餐饮业税种
  • 单张发票不超过1万
  • 工程中材料超耗怎么处理
  • 设备定金计入哪个科目
  • 政府高薪补贴
  • 留抵的进项税可以退吗
  • 建筑企业所得税怎么算举例说明
  • 买股票的分红怎么拿
  • 社保退回的钱怎么做会计分录
  • 运输公司造成的损耗
  • 事业单位个税手续费返还需要上缴财政吗
  • 健康检查查询系统
  • 工厂院子里的地图怎么画
  • 收到挂靠方应缴纳税款如何做账?
  • php如何编程
  • 总公司人员的工资子公司可以发吗
  • yii gridview
  • php编程入门指南
  • 怎么安装vue2.0
  • 长期借款的
  • framework怎么用
  • php操作mysql数据库
  • 深度学习中的FPN详解
  • Http协议之Content-Type理解
  • 企业合并财务报表项目有哪些
  • css选择上一个兄弟
  • 环境检测收费依据2017
  • 企业所得税汇算清缴扣除标准2023
  • sql server触发器的作用
  • 建筑劳务公司何去何从
  • 增值税红字发票怎么填开
  • 小规模纳税人开的专票对方可以抵扣吗
  • 毛利差怎么计算公式
  • 物业公司收到维修基金会计分录
  • 发生了销售交易但没有在销售日记
  • 加强备案管理
  • 金蝶主要业务及软件产品
  • 餐饮招待怎么入账
  • mysql必知必会和sql基础教程
  • sql server如何远程登录
  • mysql explain的用法(使用explain优化查询语句)
  • ubuntu 连不上网如何排查原因
  • windows内存诊断是干什么的
  • win2003peiso
  • centos下载教程2020
  • andriod 控件
  • 脚本并行
  • 使用多进程web
  • unity me
  • 如何得到pull解析器?
  • awk入门
  • Unity3d MonoDevelop格式化代码
  • 页面怎么打印在一张张上
  • python 操作微信
  • python错误代码
  • unity3d spine
  • js小数计算精度问题
  • js面向对象编程的三大特性
  • android入门教程
  • jquery数据绑定
  • 甘肃省政府非税收入电子发票在哪里打印
  • 医疗保险在手机上交不上是怎么回事
  • 重庆电子税务局怎么开电子发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设