编写代码中常见问题汇总(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()可以在控制台输出所属对象的所有属性和方法,包括其原型链上的属性和方法。

相关文章
|
25天前
|
JavaScript
短小精悍的js代码
【10月更文挑战第17天】
120 58
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
221 2
|
1月前
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
35 0
|
2月前
|
编解码 前端开发 JavaScript
javascript检测网页缩放演示代码
javascript检测网页缩放演示代码
|
2月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
12天前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
29 3
原生js炫酷随机抽奖中奖效果代码
|
17天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
174 4
|
19天前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
69 6
|
15天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
45 1