【问题标题】:Arrow functions on Chrome for iOSiOS 版 Chrome 上的箭头功能
【发布时间】:2017-01-11 12:26:30
【问题描述】:

当我在 iPhone 6s 上使用 Chrome 访问我的网站时,我的 d3.js 图表无法正确显示。

好像是因为我使用的是 ES6 语法(箭头函数)。

但是如果我检查http://caniuse.com/#feat=arrow-functions,它会说 Chrome 确实支持箭头功能。该网站尚未列出适用于 iOS 的 Chrome,但它应该有很大的不同吗?

如果不支持箭头功能,是否也意味着我不能使用Array.map()Array.forEach()等?

【问题讨论】:

    标签: javascript ios google-chrome ecmascript-6 arrow-functions


    【解决方案1】:

    iOS 版 Chrome 有一些 App Store 施加的相当大的技术限制,例如要求使用内置的 UIWebView 进行渲染、没有 V8 和单进程模型。因此,重用关键的 Chromium 基础架构组件是一项挑战。也就是说,我们确实利用了很多代码,例如网络层、同步和书签基础设施、多功能框、指标和崩溃报告,以及越来越多的内容。

    来源:https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/vYGxPx-tVKE

    但如果我检查http://caniuse.com/#feat=arrow-functions,它会说 Chrome 确实支持箭头功能。该网站尚未列出适用于 iOS 的 Chrome,但它应该有很大的不同吗?

    因此,您可以检查是否支持您正在寻找的功能,iOS Safari 不支持ChromeiOS 中的 Chrome 使用的渲染引擎与桌面计算机不同。

    您最好在将代码发布到生产环境之前编译您的代码,例如使用babel.js。这样,您可以随心所欲地编写代码,然后以优雅的降级方式将其部署到平台上。

    是否也意味着我不能使用 Array.map()、Array.forEach() 等?

    Array.mapArray.forEach 来自ES5ES5 得到广泛支持。试试吧,我认为它们会起作用。

    【讨论】:

    • 谢谢 :-) 我现在已经更改了我的箭头函数,但它仍然不适用于我当前的代码。在删除箭头功能解决问题之前,我曾经历过这种情况。但是现在我有很多代码要调试。你知道测试它的工具吗?我猜它有一些 javascript 错误,但我在 iPhone 上找不到开发人员选项卡
    • Np:) 以下是一些关于如何做到这一点的提示:stackoverflow.com/questions/11262236/ios-remote-debugging/…
    猜你喜欢
    • 2017-05-27
    • 2019-06-25
    • 2016-11-29
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 2021-03-14
    • 2013-12-21
    • 1970-01-01
    相关资源
    最近更新 更多