当前位置: 首页 > news >正文

报错问题修改

Vue 项目报错:‘$‘ is not defined ( no-undef )

错误原因是不认识 $ 符,他是 JQuery 中得符号,引入了 JQuery

文件里的函数报错onclick is not defined问题(作用域问题)

window.onload = function (){

onload = function (){

第二种方法,改为 function del(obj){} , 则报错  del is not defined at HTMLAnchorElement.onclick

第三种方法改为 del = function(obj){},则也可以成功执行功能

onclick是要求全局函数  在onload里面的算局部函数 (当一个函数在另一个函数内创建,这个函数处于局部作用域中,就和局部变量一样,在全局环境下访问不到)

     do = function(){}的写法会把do函数作为全局作用域函数(因为前面没有用变量var接收),相当于windows对象作为他的作用域,所以可以被调用到。

     在函数体外使用var关键字定义的变量和在函数体内未用任何关键字声明的变量是全局变量,在函数体内使用var关键字声明的变量是局部变量。

  Hoisting 是 JavaScript 将所有声明提升到当前作用域顶部的默认行为(提升到当前脚本或当前函数的顶部)正因如此,JavaScript 函数能够在声明之前被调用,

     使用表达式定义的函数不会被提升。  

     定义函数的方式

     1、函数声明

     function sum(  ){   }

    2、函数表达式

    var sum=function(  ){  }

首先,window.onload事件是在整个页面包括dom结构、图片等等全部加载完成之后才会触发。

其次,HTML加载时由上往下的,在HTML加载的时候,遇到function关键字,声明一个函数的时候,就会在内存中开辟一个新的空间来对函数进行存储,方便以后进行调用。

所以,当将function fun(){}写到window.onload()=function(){}内部的时候,需要整个页面加载完成的之后,才声明这个函数,也就意味着,当HTML加载到οnclick="fun()"的时候,window.οnlοad=function(){}里面的函数f还没有被声明,这时候内存中就找不到function fun(),于是就会报错。

那么,将function fun()移到window.onload()=function(){}外,则HTML加载到<head></head>的时候就会声明函数f了,所以进行onclick绑定的时候就能够在内存中找到fun()并进行调用。这是方法3成功的原因

而方法2中的失败,当整个页面加载完毕后,给a标签添加删除按钮,而此时的onclick事件需要一个全局函数,当第二种方法,改为 function del(obj){} 在onload标签,就不再是全局函数,所以报错了

onclick 执行的是 window 环境中的方法,所以:将 this 中的方法关联到 window 上即可。

created() {window.openPerson = this.openPerson
}

οnclick=“方法名”

<div οnclick="save()"></div>
但是今天我遇到一个问题,在js中写的方法调不到

//正确的是
save=function(){}
//错误的
var save=function(){}
function save(){}


有这么几种情况:

1、在函数中写的方法 

 $(function () {
        function save() {     
        }
    })
 原因:save()他不是全局的方法了,onclick自然找不到他

解决方案:将save()设置为全局的

$(function () {
        window.save= function () {
        }
    })

vue报错: error ‘xxx‘ is defined but never used no-unused-vars

报错原因:因为搭建的vue项目选择了eslint校验规范->就是你定义了某个变量,但是你没有使用它.eslint规范就是你要么不定义,要么定义了就一定得用.

ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误.

在许多方面,它和JSLint、JSHint相似.

解决方法:

在package.json文件内加入如下代码(保存后重启项目!!!)

"rules": {
    "generator-star-spacing": "off",
    "no-tabs":"off",
    "no-unused-vars":"off",
    "no-console":"off",
    "no-irregular-whitespace":"off",
    "no-debugger": "off"
},

在运行npm run serve时报错  Module not found: Error: Can't resolve 'axios'

原因:没有安装axios插件 在运行项目的地方npm install --save axios

解决办法 
npm install --save axios

http://www.lryc.cn/news/66347.html

相关文章:

  • 专访惠众科技|元宇宙应用如何借助3DCAT实时云渲染实现流畅大并发呈现?
  • 加速开放计算产业化,OCTC五大原则瞄准需求痛点
  • 【RabbitMQ】安装及六种模式
  • 数据结构刷题(三十一):1049. 最后一块石头的重量 II、完全背包理论、518零钱兑换II
  • opencv_c++学习(四)
  • 基于AT89C51单片机的篮球计时记分设计
  • 并发编程-Day2
  • 第1章 Nginx简介
  • 一个.Net功能强大、易于使用、跨平台开源可视化图表
  • 浅谈 ext2 文件系统的特点、优缺点以及使用场景
  • Map和Set数据结构和ES6模块化语法
  • 10_Uboot启动流程_2
  • python+django汽车4S店零配件保养服务管理系统
  • STM32F4的输出比较极性和PWM1,PWM2的关系
  • 易优cms伪静态,EyouCms去除URL中的index.php
  • 【自然语言处理】【大模型】CodeGeeX:用于代码生成的多语言预训练模型
  • Open3D 非线性最小二乘拟合二维多项式曲线
  • kafka消息队列的两种模式
  • python语法复习
  • 02-Java基础编程
  • 武忠祥老师每日一题||定积分基础训练(十)
  • C/C++趣味程序设计百例(41~50)
  • 论文阅读-2-DeepSMOTE Fusing Deep Learning and SMOTE for Imbalanced Data
  • 三种方法教你让模糊照片秒变高清图
  • PyTorch深度学习实战 | 基于线性回归、决策树和SVM进行鸢尾花分类
  • 服务端接口优化方案
  • 【并发基础】Happens-Before模型详解
  • Kubernetes系列---Kubernetes 理论知识 | 初识
  • KingbaseES 原生XML系列三--XML数据查询函数
  • 【51单片机】点亮一个LED灯(看开发板原理图十分重要)