【JavaScript】16_debug,立即执行函数 与 严格模式
【摘要】 14、debug <script> //debugger // 在代码中打了一个断点 console.log(a) // 2 var a = 1 console.log(a) // 1 function a() { alert(2) ...
14、debug
<script>
//debugger // 在代码中打了一个断点
console.log(a) // 2
var a = 1
console.log(a) // 1
function a() {
alert(2)
}
console.log(a) // 1
var a = 3
console.log(a) // 3
var a = function () {
alert(4)
}
console.log(a) // 4
var a
console.log(a) // 4
</script>
15、立即执行函数
立即执行函数(IIFE)
- 立即是一个匿名的函数,并它只会调用一次
- 可以利用IIFE来创建一个一次性的函数作用域,避免变量冲突的问题
<script>
/*
在开发中应该尽量减少直接在全局作用域中编写代码!
所以我们的代码要尽量编写的局部作用域
如果使用let声明的变量,可以使用{}来创建块作用域
*/
{
let a = 10
}
{
let a = 20
}
// function fn(){
// var a = 10
// }
// fn()
// function fn2(){
// var a = 20
// }
// fn2()
//希望可以创建一个只执行一次的匿名函数
/*
立即执行函数(IIFE)
- 立即是一个匿名的函数,并它只会调用一次
- 可以利用IIFE来创建一个一次性的函数作用域,避免变量冲突的问题
*/
(function(){
let a = 10
console.log(111)
}());
(function(){
let a = 20
console.log(222)
}())
</script>
18、严格模式
JS运行代码的模式有两种:
正常模式
- 默认情况下代码都运行在正常模式中,
在正常模式,语法检查并不严格
它的原则是:能不报错的地方尽量不报错
- 这种处理方式导致代码的运行性能较差
严格模式
- 在严格模式下,语法检查变得严格 --------> “use strict”
1.禁止一些语法
2.更容易报错
3.提升了性能
- 在开发中,应该尽量使用严格模式,
这样可以将一些隐藏的问题消灭在萌芽阶段,
同时也能提升代码的运行性能
<script>
"use strict" // 全局的严格模式
let a = 10
// console.log(a)
function fn(){
"use strict" // 函数的严格的模式
}
</script>
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)