编写代码中常见问题汇总(JavaScript)

简介: 编写代码中常见问题汇总(JavaScript)

1. 控制台出现"undefined"报错

"undefined"是一个Javascript的错误报错,表示变量或属性未定义或未赋值。

这个报错通常出现在以下情况下

  1. 尝试访问未声明的变量或函数。
  2. 尝试访问未定义的对象属性。
  3. 尝试调用未定义的函数。
  4. 变量或属性被声明但没有赋值。

出现这个报错的原因可能是:

  1. 代码中存在拼写错误,导致变量或函数无法被正确识别。
  2. 变量或属性在代码执行之前没有被声明或赋值。
  3. 在异步操作中,代码尝试访问尚未完成的异步操作的结果。

为了解决这个问题,可以检查以下几点:

  1. 确保变量或函数的拼写正确,并且已经正确声明。
  2. 确保变量或属性在使用前已经赋值。
  3. 对于异步操作,可以使用回调函数、Promise或Async/Await来处理异步结果。
  1. 尽量使用严格模式,避免隐式的全局变量。

2. 匿名函数分为两种,一种是函数表达式,一种是自执行函数

需要注意:函数表达式只能在后面进行调用,可以多次调用,但自执行函数只能调用一次

3. 注意以下自执行函数的理解

 var c= (function () {
            var x = 10;
            var y = 5;
            return function(){
                return x+y;
            }
        })()();
        console.log(c);

第一个return返回的结果是一个函数,此时用变量直接接的话接到的是一个函数,因此在结尾处再加一个括号,进行二次调用,得到的结果才是x+y的运算数值,然后我们用变量c将函数的返回值给接回来,再输出C就能得到预期结果。

 function(){   
 
                            return x+y;                   
 
}

4. 把伪数组转换为真数组的方法总结

    <script>
        function fn() {
 
            // 把伪数组转换为真数组
 
            // 方法一:遍历
            var arr = [];
            for (var i = 0; i < arguments.length; i++) {
                arr[arr.length] = arguments[i];
            }
            console.log(arr);
 
            // 方法二
            var arr1 = [...arguments]
            console.log(arr1);
 
            // 方法三
            var arr2=Array.from(arguments);
            console.log(arr2);
            // 方法四:
            var arr3=Array.prototype.slice.call(arguments);
            console.log(arr3);
 
        }
        fn(1, 23, 45, 76, 2)
    </script>

5. 以下表达式的运行结果是:1+-1++-+1什么?

会报错,因为只有变量才可以自增和自减。

  console.log(1+-1++-+1);
        //   Uncaught SyntaxError: Invalid left-hand side expression in postfix operation

6. 给单选按钮、复选框和下拉列表框添加点击事件时尽量不要用.onclick事件,推荐使用.onchange (当发生改变时)事件

7. 首页文件不要放在所有页面的文件夹下面,而且首页文件不要乱起名字 ,静态资源下的首页文件只有四个名字  index.html  index.htm default.html default.htm。

8. console.dir()可以在控制台输出所属对象的所有属性和方法,包括其原型链上的属性和方法。

相关文章
|
4月前
|
JavaScript
短小精悍的js代码
【10月更文挑战第17天】
150 58
|
29天前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
119 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
28天前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
52 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
4月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
334 2
|
4月前
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
63 0
|
1月前
|
人工智能 JavaScript 前端开发
一段 JavaScript 代码,集成网站AI语音助手
根据本教程,只需通过白屏化的界面操作,即可快速构建一个专属的AI智能体。
|
2月前
|
JavaScript 前端开发 测试技术
在 golang 中执行 javascript 代码的方案详解
本文介绍了在 Golang 中执行 JavaScript 代码的四种方法:使用 `otto` 和 `goja` 嵌入式 JavaScript 引擎、通过 `os/exec` 调用 Node.js 外部进程以及使用 WebView 嵌入浏览器。每种方法都有其适用场景,如嵌入简单脚本、运行复杂 Node.js 脚本或在桌面应用中显示 Web 内容。
142 15
在 golang 中执行 javascript 代码的方案详解
|
3月前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
83 3
|
3月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
776 4

热门文章

最新文章