位置: 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

  • 无法打开office open xml文件(无法打开)(无法打开office open xml文件 因为有错误)

    无法打开office open xml文件(无法打开)(无法打开office open xml文件 因为有错误)

  • au怎么提取干净的人声(au如何提取音乐伴奏)

    au怎么提取干净的人声(au如何提取音乐伴奏)

  • 美图秀秀能去水印吗(美图秀秀去水印不伤原图)

    美图秀秀能去水印吗(美图秀秀去水印不伤原图)

  • 荣耀v9怎么升级鸿蒙系统(荣耀v9怎么升级鸿蒙系统3.0)

    荣耀v9怎么升级鸿蒙系统(荣耀v9怎么升级鸿蒙系统3.0)

  • 微信完成群待办别人能看到吗(微信完成群待办怎么取消掉)

    微信完成群待办别人能看到吗(微信完成群待办怎么取消掉)

  • 华为手机怎样调大手机声音(华为手机怎样调出下面的三个键)

    华为手机怎样调大手机声音(华为手机怎样调出下面的三个键)

  • Word横版打印怎么设置(word怎么横版)

    Word横版打印怎么设置(word怎么横版)

  • 抖音账号封禁怎么解绑手机号(抖音账号封禁怎么申诉)

    抖音账号封禁怎么解绑手机号(抖音账号封禁怎么申诉)

  • 苹果11左边喇叭没声音是怎么回事(苹果11左边喇叭没声音修理的话需要多少钱)

    苹果11左边喇叭没声音是怎么回事(苹果11左边喇叭没声音修理的话需要多少钱)

  • excel数字变成井号怎么办(excel数字变成井号键)

    excel数字变成井号怎么办(excel数字变成井号键)

  • 亚马逊asin是什么意思(亚马逊asin是什么)

    亚马逊asin是什么意思(亚马逊asin是什么)

  • 苹果手机充电频繁闪断(苹果手机充电频率高好吗)

    苹果手机充电频繁闪断(苹果手机充电频率高好吗)

  • pro与plus是什么意思中文(pro跟plus有什么区别)

    pro与plus是什么意思中文(pro跟plus有什么区别)

  • 快手加v认证有什么用(快手加v认证有什么好处)

    快手加v认证有什么用(快手加v认证有什么好处)

  • 红米note8pro能息屏显示吗(红米note8pro休眠怎么设置)

    红米note8pro能息屏显示吗(红米note8pro休眠怎么设置)

  • vivoy83有红外线功能吗(vivoy83a红外线功能)

    vivoy83有红外线功能吗(vivoy83a红外线功能)

  • 拼多多怎么获得免拼卡(拼多多怎么获得取件码)

    拼多多怎么获得免拼卡(拼多多怎么获得取件码)

  • 监控对方微信是真的吗(监控对方微信聊天记录是真的吗)

    监控对方微信是真的吗(监控对方微信聊天记录是真的吗)

  • 微信受限制怎么回事(微信受限制怎么解除限制怎么填资金来源)

    微信受限制怎么回事(微信受限制怎么解除限制怎么填资金来源)

  • 苹果手机迅雷安装失败怎么回事(苹果手机迅雷下载安装)

    苹果手机迅雷安装失败怎么回事(苹果手机迅雷下载安装)

  • 无线网速慢(无线网速慢和路由器有关系吗)

    无线网速慢(无线网速慢和路由器有关系吗)

  • leerlaufprozess是什么进程 有什么用 leerlaufprozess进程查询(leeurbanriders是什么牌子)

    leerlaufprozess是什么进程 有什么用 leerlaufprozess进程查询(leeurbanriders是什么牌子)

  • 6000元左右的主机该怎么配2018年2月(六千元左右)

    6000元左右的主机该怎么配2018年2月(六千元左右)

  • ImageDrive.exe进程什么文件 ImageDrive是什么进程(image driver)

    ImageDrive.exe进程什么文件 ImageDrive是什么进程(image driver)

  • 有经营许可无道路运输证罚多少钱
  • 税务师考试给个税表吗
  • 小微企业企业所得税100万元以下减半征收怎么计算
  • 如何查询对方是不是一般纳税人
  • 转让不动产取得的收入
  • 业务往来说明范本
  • 转账支票背书转让样本
  • 劳务费做账是否需要发票
  • 购买商品有运费的分录
  • 工会筹备金税率
  • 企业计提短期借款利息费用应贷记的会计科目是
  • 火车车票怎么样
  • 案例分析个人总结报告
  • 在建工程摊销是啥意思
  • 未及时申报个税的理由
  • 高新企业的研究方向
  • 自然灾害造成的存货净损失计入什么科目
  • 软件企业销售服务符合增值税即征即退吗
  • 企业发放贷款怎么做分录
  • ie增强的安全配置已启用上不了网
  • 总资产算不算负债
  • 常见的dump抓取方法
  • win10为什么每次开机都要输入微软密码
  • 默认网关不可用的解决办法
  • 如何在win11上安装旧版ie
  • 上季度成本多结转了怎么调
  • win10右键菜单管理在哪打开
  • git可以管理二进制文件吗
  • 应收票据及应收账款是什么科目
  • 保理业务的会计记账
  • php请求https
  • 计算机网络拓扑结构有哪些
  • web攻防之业务安全实战指南
  • 比利牛斯山作为天然界限
  • 报税扣款锁定怎么处理
  • 法院判定支付对方诉讼费,我可以入账吗
  • print函数php
  • 专票电话号码不对有影响吗
  • 机械租赁税率是多少?
  • 帝国cms怎么用
  • 增值税普通发票有什么用
  • 织梦文章标题显示不全
  • 扣非净利润为什么比净利润高
  • 一步一步的简单
  • 建筑企业异地施工预缴企业所得税
  • 母公司与子公司内部合作协议
  • sqlserver数据库性能情况
  • 电子发票是否作废怎么查
  • 贴现凭证的分录
  • 核价人员要对哪些方面的价格进行核定,怎么核?
  • 铁路运费印花税怎么算
  • 调整以前年度销项税额的分录
  • 仓库管理办法有哪些
  • 餐饮业燃气费计入什么科目
  • 应交税费借方如何计算
  • 纳税人延期缴纳税款
  • 停车费专用发票
  • 房地产开发企业建造的商品房,在出售前
  • mysql安装配置教程5.7.25
  • Windows环境下,在给文件命名时( )
  • xp系统电脑设置在哪
  • xp找不到win10
  • 使用dhcp的好处有哪些
  • grub修复引导windows10
  • mac打开下载文件夹
  • linux ora11g安装教程
  • 防止暴力破解的方法
  • win10系统ie浏览器不见了
  • win10无法回退到以前的版本怎么办
  • win8.1如何快速启动
  • 微信小程序实现烟花
  • nodejs stdin
  • 使用css的三种方式
  • js数据的基本类型有哪些
  • jquery 获取json的key
  • unity局域网多人游戏
  • js禁用键盘事件
  • python教程目录
  • 商铺 评估价
  • 发票号码应与哪个号码一致
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设