【问题标题】:Make my JavaScript code neater让我的 JavaScript 代码更整洁
【发布时间】:2015-04-22 20:42:34
【问题描述】:

基本上这是鞋类网站的代码,页面一加载,脚本就会运行并自动将合适尺寸的鞋添加到您的购物车中。

skuAndSize 代表网站用于鞋码的变量。 selectIndex 值为 7 对应大小为 10。

var size_i_want = "10";
var how_many = 1;

function addToCart()
{
  var sizesList=document.getElementsByName("skuAndSize")[0];
  function setSizeValue()
   {
       document.getElementsByName("skuAndSize")[0].selectedIndex = 7;
    }
   if(sizesList != undefined)
    {
      setSizeValue();
      document.getElementsByClassName("add-to-cart")[0].click();
    }
  else
    {
     setTimeout("addToCart()", 5);
    }
 }
setTimeout("addToCart()", 5);

有什么办法可以修改此代码以使其运行得更快吗?它是通过chrome扩展输入的,这里是manifest.json文件,虽然我不认为它会影响程序的速度,但我可能错了:

{
    "name": "shoe_program",
    "version": "1.0",
    "manifest_version": 2,
    "description": "",
    "permissions": [
        "tabs",
        "contentSettings"
    ],

    "icons": {
        "128": "icon.png"
    },
    "browser_action": {
        "default_icon": "icon.png",
        "default_title": "SneakerATC extension [SIZE-10]"
    },
    "content_scripts": [
        {
            "matches": [
                "http://*.nike.com/*"
            ],
            "js": [
                "testing.js"
            ]
        }
    ],
    "web_accessible_resources": [
        "script.js"
    ]
}

【问题讨论】:

  • 为什么你认为这段代码需要运行得更快?瓶颈真的在这段代码中吗?
  • @JeffreyBosboom 我需要更快地编写此代码,因为我希望尽快将鞋子添加到我的购物车中,这样我就可以在其他人之前拿到它。 (此计划适用于限量鞋款)

标签: javascript json performance google-chrome


【解决方案1】:

可能对此做出的大部分更改(假设您已发布应用程序的所有代码)都会给您带来微不足道的收益。可能没什么明显的。但是,您可以在 setSizeValue 函数内调用 .selectedIndex 上的 sizeList。您缓存了document.getElementsByName("sizeAndSku") [0],而不是在setSizeValue 函数中使用缓存的变量,而是再次调用它。这需要再次执行方法.getElementsByName

由于您已经在sizeList 中缓存了该值,因此您可以在setSizeValue 函数中使用sizeList[0].selectedIndex=7

你不会得到任何真正有益的速度提升,但至少你少了一个函数调用。我认为在任何实际应用中它都不会真正有所作为,但这至少应该给你一些东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多