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

  • 华为p30省电技巧是什么(华为p30省电技巧怎么关)

    华为p30省电技巧是什么(华为p30省电技巧怎么关)

  • 华为手机锁屏图片怎么关闭(华为手机锁屏图片)

    华为手机锁屏图片怎么关闭(华为手机锁屏图片)

  • 联想复印机7400显示更换墨粉盒怎么办(联想复印机7400加墨视频)

    联想复印机7400显示更换墨粉盒怎么办(联想复印机7400加墨视频)

  • 卡槽怎么弄出来(手机卡卡到卡槽怎么弄出来)

    卡槽怎么弄出来(手机卡卡到卡槽怎么弄出来)

  • 快手主页怎么把联系电话挂上去(快手主页怎么把快手小店关闭)

    快手主页怎么把联系电话挂上去(快手主页怎么把快手小店关闭)

  • 硬盘驱动器和适配器总称为(硬盘驱动器和适配器)

    硬盘驱动器和适配器总称为(硬盘驱动器和适配器)

  • pcrm00是啥手机(oppo pcrmoo是什么手机型号)

    pcrm00是啥手机(oppo pcrmoo是什么手机型号)

  • iphone11三款区别(iphone11的三款区别)

    iphone11三款区别(iphone11的三款区别)

  • 小米手机的优势和劣势(小米手机的优势和劣势分析)

    小米手机的优势和劣势(小米手机的优势和劣势分析)

  • 7p处理器是A几(mate40pro处理器)

    7p处理器是A几(mate40pro处理器)

  • 抖音不开蓝v可以直播吗(抖音不开蓝v可以直播卖货吗)

    抖音不开蓝v可以直播吗(抖音不开蓝v可以直播卖货吗)

  • 第二代计算机的主要部件是由什么构成的(第二代计算机的主要元件是什么)

    第二代计算机的主要部件是由什么构成的(第二代计算机的主要元件是什么)

  • iphone7如何分屏(iphone7如何分屏打游戏)

    iphone7如何分屏(iphone7如何分屏打游戏)

  • 手机充的是虚电怎么办(手机充的是虚电怎么办华为)

    手机充的是虚电怎么办(手机充的是虚电怎么办华为)

  • 快手的个人主页在哪(快手的个人主页在哪里)

    快手的个人主页在哪(快手的个人主页在哪里)

  • 华为手机怎么sos求救(华为手机如何解锁)

    华为手机怎么sos求救(华为手机如何解锁)

  • airpods切歌触摸哪里(airpodspro按切歌没反应)

    airpods切歌触摸哪里(airpodspro按切歌没反应)

  • 二手数据的优点是什么(二手数据的优点不包括)

    二手数据的优点是什么(二手数据的优点不包括)

  • 芝麻鲸选是什么平台(芝麻鲸选骗局)

    芝麻鲸选是什么平台(芝麻鲸选骗局)

  • 爱奇艺会员手机号换了怎么办(爱奇艺会员手机和电脑能共用吗)

    爱奇艺会员手机号换了怎么办(爱奇艺会员手机和电脑能共用吗)

  • 5g技术特点(5g技术特点及其应用)

    5g技术特点(5g技术特点及其应用)

  • mate10超级快充失效(mate10超级快充变成了快速充电)

    mate10超级快充失效(mate10超级快充变成了快速充电)

  • 强制使用gpu渲染(强制使用gpu渲染有什么用)

    强制使用gpu渲染(强制使用gpu渲染有什么用)

  • cad炸开命令快捷键(cad2016炸开快捷键)

    cad炸开命令快捷键(cad2016炸开快捷键)

  • moviemk.exe是什么进程 有什么作用 moviemk进程查询(moviemaker是什么软件)

    moviemk.exe是什么进程 有什么作用 moviemk进程查询(moviemaker是什么软件)

  • 以前年度损益调整
  • 土地使用税的纳税义务人
  • 所得税汇算申报完之后可以修改吗
  • 港建费征收管理办法
  • 租房抵扣个税计算公式
  • 残保金为啥经过个人账户
  • 应交税费和应交增值税
  • 补贴收入属于什么分配
  • 做电商没有进货码怎么办
  • 油票发票怎么查真伪
  • 房地产公司属于第几产业
  • 台账和明细账的区别
  • 初始余额录入时需要录入什么
  • 房地产企业预缴增值税如何申报
  • 未开业零升报企业是否做年度汇算清缴申报
  • 劳动保险费属于营业外支出吗
  • 环境评估费应计入什么科目
  • 房地产公司扣减土地出让金怎么入账?
  • 付城镇土地使用税是多少
  • 商品销售赠送部分要交税吗
  • 预售房提前还款需要去解押吗
  • 企业汇算清缴逾期去补交要带什么资料
  • 纳税等级信息查询
  • 劳务费按次500元
  • 银行不肯给电子承兑贴现怎么回事
  • 审计的内容是什么
  • 发票专用章是个人
  • 资本公积转增资本什么意思
  • 不确定金额的应收账款
  • 发票已认证但是没申报跨年度了怎么办
  • 营运能力指标正常范围
  • 固定资产不入账的后果
  • 提供建筑安装服务
  • 比较有用的sr
  • php的变量
  • 有形动产租赁税收优惠
  • 折旧提取后资金如何处理
  • codewriter怎么运行
  • php domdocument
  • vue引用类型
  • vue3.0配置
  • win10下 yolov8 tensorrt模型加速部署【实战】
  • html5简单小游戏代码
  • html/css/javascript
  • 什么是资产减值准备计提
  • 餐饮发票归哪个部门管
  • 社保基数怎么申请下调
  • 零申报企业所得税的资产总额怎么填写
  • 小规模差额征税可以开专票吗
  • 个体工商户营业执照注销流程
  • 个人所得税的计算标准
  • 报销单据粘贴单模板
  • 进项税额转出是什么科目
  • 银行承兑到期之前怎么办
  • 应付账款周转率越大越好还是越小越好?
  • 购入投资性房地产支付的相关税费
  • 弥补以前年度亏损怎么算
  • 购买商品或服务不给开发票违法吗
  • 联营公司是关联方吗
  • 餐饮业厨师的工资计入主营业务成本吗
  • 银行承兑汇票如何背书转让
  • 存货的总账和明细账区别
  • mysql转移表数据表
  • sql server触发器的编写与使用
  • 关于mysql数据库服务登录下列描述正确的是
  • 直接内存访问控制器是什么
  • 虚拟系统win10
  • win8.1 win7
  • 加载的读音
  • window7系统中的桌面指什么
  • linuxcoll
  • 用python进行图像处理
  • vue js组件
  • python同一层次的语言必须对齐吗
  • jquery attribute
  • 安卓屏幕适配详解
  • 怎么去税务局领税盘
  • 宁夏退休职工网上认证
  • 广东省税务机关规定小额零售需开发票吗
  • 福建农村社保一个月可以拿多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设