javascript返回未定义的变量“函数名称”

时间:2012-06-10 18:25:07

标签: javascript jquery

我正在实现一些javascript函数,当我把它们放在一个单独的js文件中时,我得到了这个错误:未定义的变量:“function name”。当我将它们内嵌在页面中间时,函数可以正常工作。什么会导致这样的问题?您可以在下面找到一个示例。

function cssColorToHex(colorStr) {

  var hex = '#';

  $.each(colorStr.substring(4).split(','), function(i, str) {
      var h = ($.trim(str.replace(')',''))*1).toString(16);
      hex += (h.length == 1) ? "0" + h : h;
  });

  return hex;
}

function hexToRgb(hex) {

  var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  return result ? {
    r: parseInt(result[1], 16),
    g: parseInt(result[2], 16),
    b: parseInt(result[3], 16)
  } : null;
}

我将它们放在以下函数中:

function colors_used() {

  var colors_used = [];

  $('.colorpicker').each(function() {

    var box = $(this).closest('.colorbox');
    var preset_color = $(box).css('background-color');
    preset_color = cssColorToHex(preset_color);....

因此,当我将前两个函数放在一个单独的文件中时,我得到的错误是:

Uncaught exception: ReferenceError: Undefined variable: cssColorToHex   Event thread: DOMContentLoaded

UPD: * 已修复 *: 我在js文件中交换了一个函数顺序,这样函数function hexToRgb(hex)先行,cssColorToHex(colorStr)成为第二个,它开始工作。奇怪的。谢谢大家。

0 个答案:

没有答案