`
jindw
  • 浏览: 500785 次
  • 性别: Icon_minigender_1
  • 来自: 初到北京
社区版块
存档分类
最新评论

Google Chrome 浏览器常见问题

阅读更多
Google Chrome 雷区之一:与众不同的eval实现

运行代码:
javascript:var eval2 = eval;with({a:1})eval2("a+2")


在chrome上运行是要报错的。

记得ecma262 3rd上有一句,eval不应该通过引用别名调用(可能是处于优化的考虑吧)。
不过以往的实现中都没把这句话放在心上。

chrome虽然没有完全严格遵循ecma的的限制,不过,貌似还是充分利用理ecma的优化指导。
好同学,不愧是时下最快的js引擎。

貌似Chrome在eval的实现上,更加贴近标准了。
不过,这也许仅仅是chrome的一个bug,也许会在若干明主的口水淹没后,开始兼容更多的事实标准。

Google Chrome 雷区之二:警惕中文
var x = {
   "中文":"安全"
}

压缩后将变成:

var x={
中文:"危险"
}


基于rhino的压缩工具(JSA,YUI-Compressor),都会自动做上述优化,但是,貌似目前chrome对中文代码的支持有限



Google Chrome雷区之三--莫动arguments对象

arguments与参数变量的关联

javascript:+function(a){var a= 'false';alert(arguments[0])}(true)

输出的是:false,
firefox3 也是如此


javascript:+function(a){Array.prototype.splice.call(arguments,0,1);alert(a)}(1)
输出的是undefined 其他浏览器都不是。


再翻阅一下ECMA标准的描述

10.1.8 Arguments Object

    When control enters an execution context for function code, an arguments object is created and initialised as follows:

        * The value of the internal [[Prototype]] property of the arguments object is the original Object prototype object, the one that is the initial value of Object.prototype (see 15.2.3.1).
        * A property is created with name callee and property attributes { DontEnum }. The initial value of this property is the Function object being executed. This allows anonymous functions to be recursive.
        * A property is created with name length and property attributes { DontEnum }. The initial value of this property is the number of actual parameter values supplied by the caller.
        * For each non-negative integer, arg, less than the value of the length property, a property is created with name ToString(arg) and property attributes { DontEnum }. The initial value of this property is the value of the corresponding actual parameter supplied by the caller. The first actual parameter value corresponds to arg = 0, the second to arg = 1, and so on. In the case when arg is less than the number of formal parameters for the Function object, this property shares its value with the corresponding property of the activation object. This means that changing this property changes the corresponding property of the activation object and vice versa.

应该说,Google的实现是最贴近标准的。
而其他浏览器都或多或少没能实现。

这时为什么呢?自然有他的理由....


而我们能做的,那就是开发过程中,少动这个对象吧。
分享到:
评论
2 楼 tommychang 2008-12-23  
....楼上的回复也够雷人的...
1 楼 walkman 2008-10-09  
能把“安全”压成“危险”,的确够雷人的

相关推荐

    GoogleChorme浏览器-Mac安装包

    本文档提供了Google Chrome浏览器的下载和安装方法、常见问题解答以及扩展插件推荐等多个方面的内容,为使用者提供了全面的指导和帮助。文档中详细介绍了Google Chrome浏览器的功能和优势,并提供了多个实例演示,让...

    免费ChatGPT Sidebar 反应快,谷歌Chrome浏览器侧栏显示实时交互,类似于聊天机器人

    免费ChatGPT Sidebar是一个能够在谷歌Chrome浏览器侧栏显示ChatGPT的浏览器扩展插件,该扩展能够实现在网站的侧栏中显示一个聊天窗口,让网站的访问者与ChatGPT进行实时交互,类似于一个聊天机器人。ChatGPT Sidebar...

    常见浏览器兼容代码

    本篇主要为大家提供常见的Dom运用在各大主流浏览器(IE、Opera、Google Chrome、Safari、Firefox)中的兼容代码

    浏览器劫持修复的工具

    专业用于浏览器劫持修复的工具,支持 IE、Firefox、Google Chrome、Opera…等各种常见浏览器。

    各个浏览器的使用与比较

    国内网民计算机上常见的网页浏览器有,QQ浏览器、Internet Explorer、Firefox、Safari,Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、傲游浏览器、世界之窗浏览器等,浏览器是...

    Selenium控制浏览器常见操作示例

    本文实例讲述了Selenium控制浏览器常见操作。分享给大家供大家参考,具体如下: Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, ...

    HTML5&CSS3网页制作:支持视频和音频的浏览器.pptx

    浏览器是网页运行的平台,常用的浏览器有 IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。 移动端的浏览器 目前国内手机浏览器种类有很多:UC浏览器,QQ浏览器,百度浏览器,360安全浏览器,谷歌浏览器,...

    读取和写入Google Chrome:trade_mark:「Read&Write for Google Chrome:trade_mark:」-crx插件

    教师可以免费获得Google Chrome浏览器“读写”的高级订阅。 要注册并激活您的订阅,请在安装Read&Write for Google Chrome试用版后访问texthelp.com/en-gb/products/read-write/free-for-teachers/。 在texthelp....

    AutomatedHunter:Google Chrome扩展程序可通过Chrome自动测试基本的Web问题

    自动猎人Google Chrome扩展程序可通过Chrome自动测试基本的Web问题这个想法是半自动地扫描一些通用参数,而无需完全手动地进行并且不需要使用漏洞扫描器。 我实现的解决方案是一个浏览器扩展,可以在浏览时检测到...

    新标签页::high_voltage:高性能的Google Chrome新标签页,可让您快速上手

    最初是一个实验性项目,使我有机会使用Chrome浏览器API并探索网络性能优化。 这实际上提高了我的生产力,因此, New Tab现在可供任何人使用。 产品特点 具有多个主题的最小设计美学。 查看您打开的标签页列表。 ...

    VSCode牛掰的前端编辑器

    用于在Google Chrome浏览器或支持Chrome DevTools协议的其他目标中调试JavaScript代码的VS Code扩展。自动帮你完成头部和尾部闭合标签的同步修改,一个与camelCase代码配合良好的基本拼写检查程序。检查程序的目标是...

    Google Chrome:trade_mark:学者H指数计算器「Scholar H-Index Calculator for Google Chrome:trade_mark:」-crx插件

    Scholar H-Index Calculator是一种文献计量和引文分析工具,可作为Google Chrome浏览器的插件,在Google Scholar页面的顶部提供更多见解。使用方法:只需访问Scholar.google.com并进行查询。增强的信息将在常规的...

    豆腐:一种Chrome扩展。用于备份豆瓣账号的数据,并支持导出Excel文档

    为了您的系统安全,请不要安装从其他任何非官方渠道(特别是国内某搜索引擎推荐的链接)下载的Chrome浏览器。 1. Chrome网上应用商店 如果您所在的地区可以访问,请直接前往: //chrome.google....

    Allow-Control-Allow-Origin-1-0-3-0.crx

    如果仅仅是为了本地预览,可以使用Chrome浏览器插件来协助调试。 !!! 本插件只能解决简单请求的跨域调试(点击搜索什么是简单请求)。对于非简单请求的OPTION预检(点击搜索什么是预检请求)以及线上服务器也有跨域...

    Junk Food Blocker-crx插件

    功能:-在您的Google Chrome浏览器中阻止横幅广告-用蔬菜GIF替换广告-4种不同的GIF轮播播放权限:像常见的广告阻止扩展程序一样,我们确实需要每个网站都具有默认权限才能删除广告或弹出式窗口,例如嵌入式视频和...

    Web前端开发技术-初识JavaScript.pptx

    任务1 初识JavaScript;学习目标;JavaScript概述;...Google Chrome:目前市场占有率较高的浏览器,具有简洁、快速的特点 Mozilla Firefox:一款优秀的浏览器,市场占有率低于Google Chrome Safari:主要应用在苹

    adwcleaner

    AdwCleaner 是一款专业用于浏览器劫持修复的工具,支持 IE、Firefox、Google Chrome、Opera…等各种常见浏览器。adwcleaner是专门用来去除浏览器广告实用工具。adwcleaner主要是为用户清除浏览器使用中经常出现广告...

    tampermonkey:Tampermonkey是最受欢迎的用户脚本管理器,拥有超过1000万用户。 适用于Chrome,Microsoft Edge,Safari,Opera Next和Firefox

    Tampermonkey是Google Chrome浏览器中最受欢迎的用户脚本管理器。 特征: 管理和编辑所有用户脚本单击两次启用和禁用脚本在不同的Chrome实例之间轻松同步脚本通过URL从userscripts.org搜索脚本(启用了TamperFire)...

    chromeEyeDropper:适用于Google Chrome的吸管和拾色器扩展

    滴管浏览器扩展 滴管是Web浏览器扩展程序,可帮助您从网页或颜色选择器中选择和管理调色板。... 您可以在找到更多信息,帮助和常见问题解答。 错误和想法 您可以在报告错误和想法。 执照 此扩展是根据。

Global site tag (gtag.js) - Google Analytics