JS变量声明方式
在JavaScript中有三种声明变量的方式:const var let
- const:用于声明常量。注意:定义的变量的时候,必须同时初始化,且其值之后不可以修改。
var:最常用的声明变量关键字。 定义的变量的时候,若没有初始化,不报错,会输出undefined。其值之后可以修改。
var可以用来声明全局变量,也可以声明局部变量,依据它们声明的位置:
- 全局变量:在函数外定义的变量;(注意:若没有使用关键字声明的变量,默认为全局变量。)作用域是整个代码文件。
- 局部变量:在函数内定义的变量。作用域是当前的函数内部。
let:块级作用域 。在块级{}里面用let定义的变量,离开当前的块{}之后,就不能使用(有点像局部变量,但作用域不一样)。
注意:{...}一对花括弧就就是一个特定的代码块,包括直接的{},流程语句的{},函数的{},....。函数声明时本身就带有{},也是属于一个代码块。
立即执行函数,直接在声明之后执行,浏览器刷新报错~~~
function(){
<!--声明var parent = document.getElementById('parent')的时候,实际上是把全局变量
window.parent覆盖了。-->
var parent = document.getElementById('parent')
console.log(parent)
}.call()
通过父元素为子元素绑定click事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="buttons" id="buttons">
<span>按钮0</span>
<span>按钮1</span>
<span>按钮2</span>
<span>按钮3</span>
</div>
<script>
// 用js通过父元素为子元素绑定click事件
var children = buttons.children ; //用var声明了一个全局变量children,储存buttons的所有子元素
for(let i=0; i<children.length; i++){
children[i].onclick = function(){ //执行点击事件的时候输出对应的第几个按钮
console.log(i)
}
}
</script>
</body>
</html>
JS变量声明方式的更多相关文章
- 哟,来看看JS里面变量声明方式
点点点点点点进来.点击此处领取双十一梦想大礼包. 终于被我忽悠进来了?老弟,不骚一下你不往里面点是吧,还想大礼包?想着吧. 今天要说的如题,JS里面变量声明方式.可能一提到这个话题大家能很快的打出来, ...
- js 变量声明 (var使用与不使用的区别)
js 变量声明 (var使用与不使用的区别) 一.总结 一句话总结:不使用var声明变量的时候,变量是全局对象(window对象)属性,在全局中使用var声明变量是全局变量 var 全局变量 局部变量 ...
- javascript中var let const三种变量声明方式
javascript中var let const三种变量声明方式 1.var ①var表示声明了一个变量,并且可以同时初始化该变量. ②使用var语句声明的变量的作用域是当前执行位置的上下文:一个函 ...
- ES6 - 基础学习(2): 新的变量声明方式 let 与 const
ES6)新增加了两个重要的 JavaScript 关键字:let 和 const.以前声明变量时只有一种方式:var,ES6对声明方式进行了扩展,现在可以有三种声明方式了. 1.var:variabl ...
- Js 变量声明提升和函数声明提升
Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){ ...
- js常用函数、书写可读性的js、js变量声明...
1.Array类型函数 array.concat(item...) 函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组. array.join(separator) 函数 ...
- js 变量声明易混淆的几点知识
这是我 JavaScript 学习过程中遇到的一些容易混淆的地方,趁着有时间,做了一个整理. 变量提升 变量与函数名提升优先级 js 作用域内有变量,这个很好理解,但有一些细节需要注意. consol ...
- JS变量声明提升和函数声明提升
JS代码在执行的时候会先找出执行代码中定义的变量和函数,对其进行声明. 例1:console.log(a); var a = 4; 此时输出undefined.a变量在执行console.log(a) ...
- 浅谈JS变量声明和函数声明提升
先来两个问题 很多时候,在直觉上,我们都会认为JS代码在执行时都是自上而下一行一行执行的,但是实际上,有一种情况会导致这个假设是错误的. a = 2; var a; console.log(a); 按 ...
随机推荐
- Confluence 6 SQL 异常的问题解决
如果你得到了与下面显示内容类似的信息话,那么你最好考虑修改 Confluence 的日志级别输出更多的信息.如果你考虑通过 Atlassian support 获得帮助,那么这些详细的错误信息能够更好 ...
- python 之面向对象的三大特性
面向对象的三大特性 继承 继承和组合 继承进阶 封装 封装(有待完善) 多态 多态
- LeetCode(83): 删除排序链表中的重复元素
Easy! 题目描述: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1-&g ...
- 对<tr><td>标签里的input 循环取值
需求描述:单击table整行,跳转到具体的信息页面 关键就是获取整行的id,传给后台做查询,返回list 解决思路:用带参数函数传过去id,然后在js的函数中用$("#id"). ...
- 【python】gevent协程例子
说在前面:用协程还是多线程需要仔细考量.我在做实验时请求了100w个ip,分别用pool为1000的协程和64个线程来跑,结果是多线程的速度是协程的10倍以上. 一个简单的协程例子 #!/usr/bi ...
- Practical Web Penettation Testing (the first one Mutillidae 大黄蜂)
1.now we looke at this book . I decide to make a brief review the book covers as follows (I straigh ...
- pycharm提示This inspection detects instance attribute definition outside __init__ method
示例代码: class MiNiCarStore(CarStore): def createCar(self, typeName): self.carFactory = CarFactory() # ...
- Python字典(Dictionary)
Python中字典与类表类似,也是可变序列,不过与列表不同,他是无序的可变序列,保存的内容是以键 - 值对的形式存放的.类似我们的新华字典,他可以把拼音和汉字关联起来,通过音节表可以快速的找到想要的字 ...
- favicon.ico--网站标题小图片二三事
前言: 什么是favicon? 直接用图说话:这个就是favicon favicon.ico 是一种格式,一般用于网页地址栏前或者在标签上以缩略方式显示网站标志,也可以拖曳favicon到桌面以建立到 ...
- Python函数之递归函数
递归函数的定义:在这个函数里再调用这个函数本身 最大递归深度默认是997或者998,python从内存角度做的限制 优点:代码变简单 缺点:占内存 一:推导年龄 问a的值是多少: a 比 b 小2,b ...