今天练习js,忽然遇到了一个问题,就是window.onload加载完成后,调用其中的函数会报错,

上一段简单的代码:

报错信息:

报错原因:

当window.onload加载完成后,第一个alert执行是没有问题的,但是函数中的alert却不执行,百度了一下,原来是由于作用域的原因,window.load完成后改变了test函数的作用域,使其变成内部函数,因此是无法访问到test函数的。

解决方法:

只要将test函数写在window.onload外面,便可正常执行。但是,我们还可以用第二种写法,就是直接将test函数绑定在onlaod函数上,这样也是没有问题的。

如果你还不明白的话,可以阅读一下下面链接的文章。

参考来源于:https://blog.csdn.net/c_p_h/article/details/63684510

window.onload中调用函数报错的问题的更多相关文章

  1. 析构函数中调用 Dispose 报错 :Internal .Net Framework Data Provider error 1.[非原创]

    搜索MSDN的资源可以找到答案: 原文如下http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=473449&SiteID=1 以下是关于 ...

  2. 解决python中调用 imread 报错:ImportError: cannot import name imread

    安装了scipy后,报cannot import name imread错误, 1.网上查阅资料后说是需要安装pillow,安装pillow之后,仍然报该错误, 2.网上说是pillow与SciPy安 ...

  3. js笔记(4)--关于在window.onload()里面定义函数,调用函数无法执行~

    由于本人学习js学不久,所以,今天刚好遇到了一个关于在window.onload里面定义函数,然后在html里面调用函数时出现错误.具体见下面: <!DOCTYPE html> <h ...

  4. js中在window.onload中写function函数产生的问题

    转载自:https://blog.csdn.net/c_p_h/article/details/63684510 今天在jsp中的form表单利用οnclick=”xxx”来监听js中一个functi ...

  5. js执行函数报错Cannot set property 'value' of null怎么解决?

    js执行函数报错Cannot set property 'value' of null 的解决方案: 原因:dom还没有完全加载 第一步:所以js建议放在body下面执行, 第二步:window.on ...

  6. 解决django或者其他线程中调用scrapy报ReactorNotRestartable的错误

    官网中关于ReactorNotRestartable的错误描述(摘自:https://twistedmatrix.com/documents/16.1.0/api/twisted.internet.e ...

  7. Python中常见的报错名称

    Python中常见的报错名称 1.SyntaxError 语法错误.看看是否用Python关键字命名变量,有没有使用中文符号,运算符.逻辑运算符等符号是不是使用不规范. 2.IndentationEr ...

  8. 关于Entity Framework中的Attached报错相关解决方案的总结

    关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...

  9. 关于Entity Framework中的Attached报错的完美解决方案终极版

    之前发表过一篇文章题为<关于Entity Framework中的Attached报错的完美解决方案>,那篇文章确实能解决单个实体在进行更新.删除时Attached的报错,注意我这里说的单个 ...

随机推荐

  1. Vue中使用jquery

    在vue项目中,需要实现某些特定的功能时,使用mvvm模式不易实现.因此引入jquery包来完成需求 npm install jqueryimport $ from jquery //在需要使用的页面 ...

  2. [CentOS7] SELinux

    声明:本文主要总结自:鸟哥的Linux私房菜-第十六章.程序管理與 SELinux 初探,如有侵权,请通知博主 SELinux = Security Enhanced Linux 传统的文件权限与账号 ...

  3. Repeater+AspNetPager+Ajax留言板

    最近想要巩固下基础知识,于是写了一个比较简单易懂实用的留言板. 部分样式参考了CSDN(貌似最近一直很火),部分源码参照了Alexis. 主要结构: 1.前期准备 2.Repeater+AspNetP ...

  4. 动手写一个简单版的谷歌TPU-矩阵乘法和卷积

    谷歌TPU是一个设计良好的矩阵计算加速单元,可以很好的加速神经网络的计算.本系列文章将利用公开的TPU V1相关资料,对其进行一定的简化.推测和修改,来实际编写一个简单版本的谷歌TPU.计划实现到行为 ...

  5. 使用mount命令挂载CDROM

    Linux显示所有的目录都在一个目录树下,而于他们位于哪一个驱动器/硬件无关.在Linux下的磁盘内容作为子目录形式出现的.可移动介质的内容不会自动出现在这些自目录的,我们必须通过挂载驱动器来实现. ...

  6. 验证您的Shell为Bash

    内容介绍 在管理Linux服务器时,命令行操作无疑是最为耗时的环节.对大多数用户而言,这意味着将大量时间用于操作Bash shell. 尽管大多数发行版都提供默认的用户类型与root prompts, ...

  7. CSS(一)清除浮动

    问题1:关于清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  8. python入门之paramiko模块

    paramiko用于实现ssh远程连接服务器执行相关操作. paramiko与之依赖模块cryptography最好版本相同,不然可能执行程序会出错. 一.ssh连接服务器执行命令 import pa ...

  9. 036 Valid Sudoku 有效的数独

    详见:https://leetcode.com/problems/valid-sudoku/description/ class Solution { public: bool isValidSudo ...

  10. vector的学习(系统的学习)

    首先讲一下vector,vector被称作向量容器,头文件要包括#include<vector> 可以考虑下面定义: vector<int> x; vector<char ...