首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端常见面试题总结_2023-02-23

在 js 中提供了两个函数来实现 js 数据结构JSON 格式转换处理, JSON.stringify 函数,通过传入一个符合 JSON 格式数据结构,将其转换为一个 JSON 字符串。...如果传入数据结构不符合 JSON 格式,那么在序列化时候会对这些值进行对应特殊处理,使其符合规范。在前端向后端发送数据,可以调用这个函数数据对象转化为 JSON 格式字符串。...JSON.parse() 函数,这个函数用来 JSON 格式字符串转换为一个 js 数据结构,如果传入字符串不是标准 JSON 格式字符串的话,将会抛出错误。...当后端接收到 JSON 格式字符串,可以通过这个方法来将其解析一个 js 数据结构,以此来进行数据访问。...对包含循环引用对象对象之间相互引用,形成无限循环)执行此方法,会抛出错误。

73410

就因为JSON.stringify,我年终奖差点打水漂了

学透JSON.stringify ❝JSON.stringify() 方法一个 JavaScript 对象或值转换为 JSON 字符串,如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定...异常[2] 当在循环引用时会抛出异常TypeError ("cyclic object value")(循环对象值) 当尝试去转换 BigInt 类型值会抛出TypeError ("BigInt value...基本使用 「注意」 JSON.stringify可以转换对象或者值(平常用更多是转换对象) 可以指定replacer函数选择性地替换 也可以指定replacer数组,可转换指定属性 这里仅仅是...(d)) // "2021-10-05T14:01:23.932Z" 特性七 ❝对包含循环引用对象对象之间相互引用,形成无限循环)执行此方法,会抛出错误。...(对象之间相互引用,形成无限循环)执行此方法,会抛出错误。

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

TypeError: Object of type float32 is not JSON serializable

然而,有时候在尝试某些数据类型转换为JSON,可能会遇到TypeError: Object of type 'float32' is not JSON serializable错误。...本文介绍这个错误原因以及如何解决它。什么导致了这个错误?这个错误是由Pythonjson模块引发,它在尝试对象换为JSON格式发生。...结论TypeError: Object of type 'float32' is not JSON serializable错误通常发生在尝试float32类型对象换为JSON格式。...通过float32换为float、使用自定义编码器,以及整个数据结构换为JSON,我们可以解决这个错误。选择合适方法取决于具体情况和数据结构。希望本文对你在处理这个错误时有所帮助!...当尝试包含float32数据结构换为JSON格式,可能会遇到TypeError: Object of type 'float32' is not JSON serializable错误。

39710

2022秋招前端面试题(九)(附答案)

,也就是通过 [Prototype] 链接到了这个原型对象然后说一下 JS 中属性查找:当我们试图引用实例对象某个属性,是按照这样方式去查找,首先查找实例对象上是否有这个属性,如果没有找到,就去构造这个实例对象构造函数...] 属性链接,所以被称为原型链什么是原型链继承,类比类继承:当有两个构造函数 A 和 B,一个构造函数 A 原型对象,通过其 [Prototype] 属性链接到另外一个 B 构造函数原型对象...具体是通过这个对象原型设置另外一个对象,这样根据原型链规则,如果查找一个对象属性且在自身不存在,就会查找另外一个对象,相当于一个对象可以使用另外一个对象属性和方法了。...new操作符实现步骤如下:创建一个对象构造函数作用域赋给新对象(也就是将对象proto属性指向构造函数prototype属性)指向构造函数代码,构造函数this指向该对象(也就是这个对象添加属性和方法...不是 JSON 安全会丢失 constructor,所有的构造函数都指向 Object破解循环引用function deepCopy(obj) { if (typeof obj === 'object

2.6K30

JavaScript 权威指南第七版(GPT 重译)(五)

调用它next()方法会导致生成器函数主体从头开始运行(或者当前位置开始),直到达到一个yield语句。yield在 ES6 中是新,类似于return语句。...在我们正在考虑示例中,任务 3 输入是获取 URL 主体,解析 JSON 对象。但是,正如我们刚才讨论,回调c1返回值不是 JSON 对象,而是该 JSON 对象 Promisep4。...此外,尝试更改不可扩展对象原型(参见§14.3)始终抛出 TypeError。 请注意,一旦将对象设置不可扩展,就没有办法再使其可扩展。...但如果任何代码尝试修改对象或其属性,处理程序对象方法会抛出 TypeError。这样代理可能有助于编写测试:假设你编写了一个接受对象参数函数,并希望确保你函数不会尝试修改输入参数。...在本节开始,我们代理描述没有自己行为对象,因为它们只是所有操作转发到处理程序对象和目标对象

16910

有个朋友因为 JSON.stringify 差点丢了奖金

然后测试工程师说:我之前测试过这个页面,为什么上线后就不行了? 而后端开发者说:前端发送数据缺少value字段,导致服务端接口出错。...基本上,JSON.stringify() 方法 JavaScript 对象或值转换为 JSON 字符串: 同时,JSON.stringify 有以下规则。...1、如果目标对象有toJSON()方法,它负责定义哪些数据将被序列化。 2、 Boolean、Number、String 对象在字符串化过程中被转换为对应原始值,符合传统转换语义。...7、 所有其他 Object 实例(包括 Map、Set、WeakMap 和 WeakSet)仅序列化其可枚举属性。 8、找到循环引用时抛出TypeError(“循环对象值”)异常。...9、 尝试对 BigInt 值进行字符串化时抛出 TypeError(“BigInt 值无法在 JSON 中序列化”)。 自己实现 JSON.stringify 理解一个函数最好方法是自己实现它。

40720

差点因为 JSON.stringify 丢了奖金...

然后测试工程师说:我之前测试过这个页面,为什么上线后就不行了? 而后端开发者说:前端发送数据缺少value字段,导致服务端接口出错。...基本上,JSON.stringify() 方法 JavaScript 对象或值转换为 JSON 字符串: 同时,JSON.stringify 有以下规则。...1、如果目标对象有toJSON()方法,它负责定义哪些数据将被序列化。 2、 Boolean、Number、String 对象在字符串化过程中被转换为对应原始值,符合传统转换语义。...7、 所有其他 Object 实例(包括 Map、Set、WeakMap 和 WeakSet)仅序列化其可枚举属性。 8、找到循环引用时抛出TypeError(“循环对象值”)异常。...9、 尝试对 BigInt 值进行字符串化时抛出 TypeError(“BigInt 值无法在 JSON 中序列化”)。 自己实现 JSON.stringify 理解一个函数最好方法是自己实现它。

42410

盘点那些 JS 手写题

「描述」 「new」 关键字会进行如下操作: 创建一个空简单JavaScript对象(即{}); 步骤1新创建对象添加属性__proto__,将该属性链接至构造函数原型对象步骤1新创建对象作为...== 'function') { throw new TypeError('第一个参数不是构造函数'); } // 新建一个空对象对象原型构造函数 prototype 对象...ECMAScript 5 开始可以使用类数组对象。 返回值:调用有指定this值和参数函数结果。...如果使用new运算符构造绑定函数,则忽略该值。当使用 bind 在 setTimeout 中创建一个函数(作为回调提供),作为 thisArg 传递任何原始值都将转换为 object。...指定要提取嵌套数组结构深度,默认值 1。 「注」 使用 Infinity,可展开任意深度嵌套数组 返回值:一个包含数组与子数组中所有元素新数组。

1.3K30

【Python】已完美解决:TypeError: the JSON object must be str, bytes or bytearray, not dict

二、可能出错原因 这个错误通常发生在以下场景中: 你可能试图对一个已经是Python字典对象使用json.loads()函数进行反序列化,而json.loads()函数期望输入是一个JSON格式字符串...你可能在处理一个已经反序列化过JSON对象,错误地再次尝试对其进行反序列化。...JSON格式字符串,我们想要将其转换为Python字典对象,并对其进行处理。...York"}' 五、注意事项 区分序列化和反序列化:json.dumps()用于Python对象(如列表、字典)转换为JSON格式字符串(序列化),而json.loads()用于JSON格式字符串转换为...检查数据类型:在调用json.loads()之前,确保你正在处理是一个字符串、字节或字节数组,而不是已经是一个Python字典或列表对象

11510

【Python】已解决报错: TypeError: the JSON object must be str, bytes or bytearray, not ‘dict‘解决办法

这个错误通常发生在尝试一个字典(dict)直接转换为JSON格式。 一、可能出错原因 原因一:错误JSON序列化方法 当使用错误函数或方法尝试字典序列化为JSON,可能会引发此错误。...)是文本字符串转换为json对象函数,其函数名是load string 缩写,意思是加载字符串。...dumps(param)是json数据对象换为文本字符串函数,其函数名是dump string 缩写,意思是输出字符串,所以其参数param必须要是json对象,也就是loads()函数返回数据类型...话说大家可以尝试一下loads改为load函数,或许可以。 原因二:错误参数传递 在某些情况下,开发者可能误将字典作为参数传递给需要JSON格式数据函数。...在发送HTTP请求,如果API要求JSON格式数据,使用json库进行序列化。 理解JSON是一种格式,而字典是Python中数据结构,它们之间需要通过序列化和反序列化进行转换。

6510

前端面试复习计划,保熟~

(300,"3"); addTask(400,"4"); 输出顺序是:2 3 1 4 整个完整执行流程:一开始1、2两个任务开始执行500ms,2任务执行完毕,输出2,任务3开始执行800ms,...对象接受一个回调函数作为参数, 该回调函数接受两个参数,分别是成功回调resolve和失败回调reject;另外resolve参数除了正常值以外, 还可能是一个Promise对象实例;reject...()方法产生Promise实例返回值8、Promise.resolve()现有对象转为Promise对象,如果该方法参数一个Promise对象,Promise.resolve()将不做任何处理...需要注意是,立即resolve() Promise 对象,是在本轮“事件循环”(event loop)结束执行,而不是在下一轮“事件循环开始。...bind 绑定之后函数当作构造函数,通过 new 操作符使用,则不绑定传入 this,而是 this 指向实例化出来对象 // 此时由于new操作符作用 this指向result实例对象

1.2K40

社招前端二面面试题

但是由于箭头函数没有自己this,且this指向外层执行环境,且不能改变指向,所以不能当做构造函数使用。(6)箭头函数没有自己arguments箭头函数没有自己arguments对象。...,则是域名后最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么域名后最后一个“/”开始到结束,都是文件名部分。本例中文件名是“index.asp”。...([, replacer , space) 方法是一个 JavaScript 值(对象或者数组)转换为一个 JSON 字符串。...对包含循环引用对象对象之间相互引用,形成无限循环)执行此方法,会抛出错误。...(1)当typenumber规则如下:调用objvalueOf方法,如果原始值,则返回,否则下一步;调用objtoString方法,后续同上;抛出TypeError 异常。

74420

【中高级前端】必备,30+高频手写题及详细答案(万字长文),看“你”怎么难倒我

MDN上 ❞ 「关键点:」 构造函数Fnprototype,实例对象原型链。...对象或值转换为 JSON 字符串,如果指定了一个 replacer 函数,则可以选择性地替换值,或者指定 replacer 是数组,则可选择性地仅包含数组指定属性。...(对象之间相互引用,形成无限循环)执行此方法,会抛出错误。...「「proto」」 ,将该属性链接至构造函数原型对象 步骤1新创建对象作为this上下文,执行该函数 ; 如果该函数没有返回对象,则返回this。...修订号从左到右编号,下标 0 开始,最左边修订号下标 0 ,下一个修订号下标 1 ,以此类推。例如,2.5.33 和 0.1 都是有效版本号。

92330

JavaScript 编程精解 中文第三版 八、Bug 和错误

如果一个程序是思想结晶,你可以粗略地错误分为因为思想混乱引起错误,以及思想转换为代码引入错误。 前者通常比后者更难诊断和修复。...因此,如果你在严格模式下不小心错误地调用方法或构造器,JavaScript 会在尝试this读取某些内容产生错误,而不是愉快地写入全局作用域。...JavaScript 只在实际运行程序时考虑类型,即使经常尝试值隐式转换为它预期类型,所以它没有多大帮助。 尽管如此,类型讨论程序提供了一个有用框架。...当程序类型已知,计算机可以为你检查它们,在程序运行之前指出错误。 有几种 JavaScript 语言语言添加类型并检查它们。 最流行称为 TypeScript。...下面的示例代码尝试一个整数转换成给定进制表示字符串(十进制、二进制等),其原理是:不断循环取出最后一位数字,并将其除以基数(最后一位数数字中除去)。

1.2K100

帮你彻底弄懂 JavaScript 类型转换

本文将带领你 ECMA 规范开始,去深入理解 JavaScript 中类型转换,让类型转换不再成为前端开发中拦路虎。...答:parseInt函数第二个参数表示要解析数字基数。该值介于 2 ~ 36 之间。 如果省略该参数或其值 0,则数字将以 10 基础来解析。...对于对象原始类型转换,也会遵守 ToPrimitive 规则,下面会进行细说。...ES规范来看类型转换 ToPrimitive 在对象原始类型时候,一般会调用内置 ToPrimitive 方法,而 ToPrimitive 方法则会调用 OrdinaryToPrimitive...如果 hint 是'number',那么就将 methodNames 设置 valueOf、toString 遍历 methodNames 拿到当前循环值 name, method 设置 O

72010

JavaScript 权威指南第七版(GPT 重译)(二)

截至 2020 年初,这种新语法在大多数主要浏览器的当前或测试版本中得到支持。 4.6 对象创建表达式 对象创建表达式创建一个新对象,并调用一个函数(称为构造函数)来初始化该对象属性。...} 正如你所看到,变量count 0 开始,并且在循环运行每次后递增。...对于不同类型循环,这意味着不同事情: 在while循环中,循环开始测试循环开头指定表达式,如果true,则从顶部执行循环体。...(在非严格模式下,null和undefined值换为全局对象,非对象换为对象。) 在严格模式下,对不可写属性赋值和尝试在不可扩展对象上创建新属性会抛出 TypeError。...程序中声明不会像语句一样“运行”:相反,它们定义了程序本身结构。可以粗略地声明视为在代码开始运行之前处理程序部分。

43010

一文看懂 PHP 8 新特性

而本 RFC 旨在解决一小部分被忽略情况。” 内部函数类型注解 许多人开始所有内部函数添加 适当类型注释。这个问题历史很久了,而 PHP 之前版本所做一系列更改终于解决它铺平了道路。...这意味着内部函数和方法反映出完整类型信息。 ext-json 始终可用 以前,可以在不启用 JSON 扩展情况下编译 PHP,以后就不行了。...一致类型错误 现在 PHP 用户定义函数会抛出TypeError,但内部函数并不会,而是发出警告并返回null。 PHP 8 开始,内部函数行为也是一样了。...异常取代了警告 尝试修改非对象'%s'属性:Error异常取代了警告 尝试分配非对象'%s'属性:Error异常取代了警告 空值创建默认对象:Error异常取代了警告 试图获取非对象'%s'属性...默认 PDO 错误模式 根据 RFC:当前,PDO 默认错误模式静默。换句话说,当发生 SQL 错误时,除非开发人员实现自己显式错误处理,否则不会发出错误或警告,也不会引发异常。

2.5K10
领券