一、背景

  话说今天在调试js的时候,碰到一个很奇怪的问题,现记录一下。当使用alert()函数弹出提示时,总是报错,你没看错,alert函数报错了。

二、详细说明

  当时正在做一个关于告警的页面展示功能,其中一段js为:

function search(){
var startTime=$("#startTime").val();
var endTime=$("#endTime").val();
if(startTime==null || startTime.trim()==""){
alert("查询开始时间必须填写!")
return;
}
if(endTime!=null && endTime.trim()!=""){
if(endTime<=startTime){
alert("查询结束时间必须大于查询开始时间");
return;
}
}
show(startTime,endTime);
}

  就是普普通通的弹出提示功能,但是每当要弹出的时候总是报错,通过火狐的firebug查看,报错如下:

  当时我就蒙了,alert不是js最基本的方法吗,怎么告诉我不是一个函数呢?

三、解决过程

  我一看,这个现象已经超出了我的认知范围,那是指定解决不了(其实偷偷解决了老半天),只能去百度,可是一个答案都没有。这时候我已经陷入深深的绝望了,距离问题发现已经一个多小时了,看来不得以只能拿出梯子上墙了,果然找到问题的根源了,网友提醒说alert是不是被重新定义了!!!,我一听就秒懂,我正在做告警的页面,会不会有的变量定义为alert了呢,回去赶紧搜索一下,果不其然找到了:

//原始事件量
var orgEvent = echarts.init(document.getElementById('orgEvent'));
//事件量
var event = echarts.init(document.getElementById('event'));
//告警量
var alert = echarts.init(document.getElementById('alert'));

  多么痛的领悟,这种事居然都能发生在我身上,重命名后问题就解决了。

四、痛定思痛

  单就这个问题收获点什么:

  1. 当一个你认为绝对不会发生的问题发生了,不要总在心里默念不可能,不可能,这会降低你解决这个问题的智商。
  2. 当应该出现某种结果的时候,发生意外了,这时候应该从最基本的开始找起,拼写错误、路径错误、字母大小写等等
  3. 必然发生的事没发生,那么中间肯定发生了什么,就像这个例子中,alert做为一个函数必然应该弹窗,结果报错说不是函数,那么肯定被更改了

【疑难杂症01】TypeError: alert is not a function的更多相关文章

  1. 【疑难杂症系列01】TypeError: alert is not a function

    一.背景 话说今天在调试js的时候,碰到一个很奇怪的问题,现记录一下.当使用alert()函数弹出提示时,总是报错,你没看错,alert函数报错了. 二.详细说明 当时正在做一个关于告警的页面展示功能 ...

  2. Uncaught TypeError: $(...).daterangepicker is not a function

    本文为博主原创,未经允许不得转载: 在用bootstrap做一个日期插件的时候,代码和js,css等都是拷贝网上下载下来的实例,但是在 调试的时候,浏览器控制台一直报错 Uncaught TypeEr ...

  3. jquery版本更新后无live函数的处理.TypeError: $(...).live is not a function

    jquery live函数语法 jquery版本更新, 发现一个问题: jq自带的live没有了.控制台下会有如下的提示:火狐: TypeError: $(...).live is not a fun ...

  4. 360浏览器Uncaught TypeError: object is not a function问题

    刚刚360浏览器提示 Uncaught TypeError: object is not a function,找了半天发现问题是我有一个按钮,id和方法重复了,所以提示这个. <input t ...

  5. jquery TypeError: 'undefined' is not a function (evaluating 'elem.nodeName.toLowerCase()') [jquery.js:1904]错误原因

    今天,某个环境报了个js错误,TypeError: 'undefined' is not a function (evaluating 'elem.nodeName.toLowerCase()') [ ...

  6. Uncaught TypeError: download is not a function at HTMLAnchorElement.onclick (index.html:25)

    前段时间调试html报了这样的一个错误 Uncaught TypeError: download is not a function     at HTMLAnchorElement.onclick ...

  7. 关于这个该死的报错:TypeError - 'undefined' is not a function (evaluating '_getTagName(currWindow).toLowerCase()')

    在利用Selenium爬取页面信息的时候突然报错,第一条信息爬取的时候还好好的,第二条就不行了. 请参考网上的爬取代码: # coding=utf-8"""Created ...

  8. TypeError: "x" is not a function

    https://stackoverflow.com/questions/32751209/jasmine-typeerror-is-not-a-function 信息 TypeError: " ...

  9. TypeError: $(…).tooltip is not a function

    问题描述:改了一个页面,发现进入这个页面的时候就一直在load···,F12看了一下,发现报了这个错误TypeError: $(…).tooltip is not a function,然后我就百度了 ...

随机推荐

  1. UVA_11922 Permutation Transformer 【splay树】

    一.题目 UVA11922 二.分析 为什么会有伸展树? 伸展树与AVL的区别除了保持平衡的方式不同外,最重要的是在每次查找点时,让该点旋转到根结点,这里可以结合计算机里的局部性原理思考. 伸展树有什 ...

  2. RocketMQ之NameServer学习笔记

    org.apache.rocketmq.namesrv.NamesrvController NameserController,NameServer的核心控制类. 1.1 NamesrvConfig ...

  3. Mac安装的PyCharm找不到顶部菜单栏 PyCharm找不到setting PyCharm不能个性化设置和直接导库

    安装的是最新版的PyCharm,打开发现没有顶部菜单栏,不能直接导库..有点方 以前的就是下面这种 找了很久发现原来在右下角!!!眼拙 点击画圈圈的地方就可以直接进去导库这些啦〜

  4. SQL中动态进行行转列

    课程表 CREATE TABLE [dbo].[demo_Course]( [Cid] [uniqueidentifier] NOT NULL, ) NULL, CONSTRAINT [PK_demo ...

  5. ASP.NET MVC利用ActionLink实现动态组合查询

    一个文件传输数据表,内有日期.传输协议.传输方向(上传或下载).文件名等信息,完整的表内容显示如下: 现在需要分类查询,即按照协议和传输方向查询.单独的分类查询问题并不大,比如,按协议查询,在View ...

  6. WCF系列教程之WCF服务协定

    本文参考自:http://www.cnblogs.com/wangweimutou/p/4422883.html,纯属读书笔记,加深记忆 一.服务协定简介: 1.WCF所有的服务协定层里面的服务接口, ...

  7. MySQL存储引擎 InnoDB与MyISAM的区别

    来源:http://www.jb51.net/article/47597.htm 基本的差别:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.MyISAM类型的表强调的是性能,其执行 ...

  8. disable Nouveau kernel driver

    nano /etc/modprobe.d/blacklist-nouveau.conf with the following contents: blacklist nouveau options n ...

  9. python 多线程与GIL

    GIL 与 Python 线程的纠葛 GIL 是什么?它对 python 程序会产生怎样的影响?我们先来看一个问题.运行下面这段 python 代码,CPU 占用率是多少? # 请勿在工作中模仿,危险 ...

  10. P2P 行业解决方案

    P2P指个人与个人之间的借贷,而P2P理财是指以公司为中介机构,把这借贷双方对接起来实现各自的借贷需求.借款方可以是无抵押贷款或是有抵押贷款.而中介一般是收取双方或单方的手续费为盈利目的或者是赚取一定 ...