详细解释js中object和php的array的区别,及js中map和forEach所传参代表的意思,及两个函数有何区别
发布网友
发布时间:2022-04-24 05:32
我来回答
共1个回答
热心网友
时间:2023-11-01 04:07
js的object和php的array仅仅是刚好能实现差不多相同的功能而已, 不用说区别根本没必要强行联系起来, 这是两个语言里的两种功能相近的类型, 连提供的方法都不一样. 非要区别的话, php的array和js里的array更接近(可以认为js中array的基类是object, 继承了object所有的方法), 另外js里object和array的键只能是字符串, 即使用number当索引实际也会转换成字符串处理, 即obj[1]和obj["1"]是相同的
js的map即是ecmascript6里新增的一种类型也是array的一个方法, 指后者的话, map是用来根据原数组的值生成一个新数组用的(取map的callback的返回值), foreach是单纯的遍历数组用的. 这两个方法是从python等其它语言中引入的, 引入这两个函数的目的只是为了方便而已, 自己用for能实现完全相同的功能. 两个方法的参数感觉只有第二个"thisobject"可能要解释一下, 如果第一个参数传入的callback函数中使用了this关键字, 那么可以给thisobject传入一个对象来指代这个this, 作用相当于callback.call(thisobject, value);
热心网友
时间:2023-11-01 04:07
js的object和php的array仅仅是刚好能实现差不多相同的功能而已, 不用说区别根本没必要强行联系起来, 这是两个语言里的两种功能相近的类型, 连提供的方法都不一样. 非要区别的话, php的array和js里的array更接近(可以认为js中array的基类是object, 继承了object所有的方法), 另外js里object和array的键只能是字符串, 即使用number当索引实际也会转换成字符串处理, 即obj[1]和obj["1"]是相同的
js的map即是ecmascript6里新增的一种类型也是array的一个方法, 指后者的话, map是用来根据原数组的值生成一个新数组用的(取map的callback的返回值), foreach是单纯的遍历数组用的. 这两个方法是从python等其它语言中引入的, 引入这两个函数的目的只是为了方便而已, 自己用for能实现完全相同的功能. 两个方法的参数感觉只有第二个"thisobject"可能要解释一下, 如果第一个参数传入的callback函数中使用了this关键字, 那么可以给thisobject传入一个对象来指代这个this, 作用相当于callback.call(thisobject, value);
热心网友
时间:2023-11-01 04:07
js的object和php的array仅仅是刚好能实现差不多相同的功能而已, 不用说区别根本没必要强行联系起来, 这是两个语言里的两种功能相近的类型, 连提供的方法都不一样. 非要区别的话, php的array和js里的array更接近(可以认为js中array的基类是object, 继承了object所有的方法), 另外js里object和array的键只能是字符串, 即使用number当索引实际也会转换成字符串处理, 即obj[1]和obj["1"]是相同的
js的map即是ecmascript6里新增的一种类型也是array的一个方法, 指后者的话, map是用来根据原数组的值生成一个新数组用的(取map的callback的返回值), foreach是单纯的遍历数组用的. 这两个方法是从python等其它语言中引入的, 引入这两个函数的目的只是为了方便而已, 自己用for能实现完全相同的功能. 两个方法的参数感觉只有第二个"thisobject"可能要解释一下, 如果第一个参数传入的callback函数中使用了this关键字, 那么可以给thisobject传入一个对象来指代这个this, 作用相当于callback.call(thisobject, value);
热心网友
时间:2023-11-01 04:07
js的object和php的array仅仅是刚好能实现差不多相同的功能而已, 不用说区别根本没必要强行联系起来, 这是两个语言里的两种功能相近的类型, 连提供的方法都不一样. 非要区别的话, php的array和js里的array更接近(可以认为js中array的基类是object, 继承了object所有的方法), 另外js里object和array的键只能是字符串, 即使用number当索引实际也会转换成字符串处理, 即obj[1]和obj["1"]是相同的
js的map即是ecmascript6里新增的一种类型也是array的一个方法, 指后者的话, map是用来根据原数组的值生成一个新数组用的(取map的callback的返回值), foreach是单纯的遍历数组用的. 这两个方法是从python等其它语言中引入的, 引入这两个函数的目的只是为了方便而已, 自己用for能实现完全相同的功能. 两个方法的参数感觉只有第二个"thisobject"可能要解释一下, 如果第一个参数传入的callback函数中使用了this关键字, 那么可以给thisobject传入一个对象来指代这个this, 作用相当于callback.call(thisobject, value);
热心网友
时间:2023-11-01 04:07
js的object和php的array仅仅是刚好能实现差不多相同的功能而已, 不用说区别根本没必要强行联系起来, 这是两个语言里的两种功能相近的类型, 连提供的方法都不一样. 非要区别的话, php的array和js里的array更接近(可以认为js中array的基类是object, 继承了object所有的方法), 另外js里object和array的键只能是字符串, 即使用number当索引实际也会转换成字符串处理, 即obj[1]和obj["1"]是相同的
js的map即是ecmascript6里新增的一种类型也是array的一个方法, 指后者的话, map是用来根据原数组的值生成一个新数组用的(取map的callback的返回值), foreach是单纯的遍历数组用的. 这两个方法是从python等其它语言中引入的, 引入这两个函数的目的只是为了方便而已, 自己用for能实现完全相同的功能. 两个方法的参数感觉只有第二个"thisobject"可能要解释一下, 如果第一个参数传入的callback函数中使用了this关键字, 那么可以给thisobject传入一个对象来指代这个this, 作用相当于callback.call(thisobject, value);