js代码的执行顺序及运算
代码执行顺序:从上往下,一行一行的执行(也叫一个模块一个模块的执行)
变量的提升(它不是变量的功能,而是浏览器的功能)
js代码如何执行?
js代码执行前,浏览器会给他一个全局的环境 叫window,在window(全局作用域)下浏览器找到所有的带var和function的关键字,然后他们分配内存的地址,不管你赋值没赋值,浏览器告诉所有的子模块,这个东西存在了,这种能力叫变量提升。
对变量定义的方式
一个是定义的常量var
一个是定义的方法function
我们的载体是浏览器
计算机通过地址查找的
数据
变量的值 一个是字符串 (带引号)
一个是数字(不带引号)
不管是数字还是字符串,后面的值统统称为数据
js数据类型有( 跟变量的值有关)
字符串 数字 数组 json 对象 布尔 null undefined 函数 (分为两大块 基本和复和)
运算
1.四则运算 (加,减,乘,除)法则(先乘除 后加减 有括号先算括号里面的)
2.逻辑运算: 或(||) 且(&&) 非(!) 其结果是布尔 (值为ture 和false 只有对与错)
a 或 b ( a也行 ,b也行)
a 且 b (a和b)
a 非 b (不是a就是b)
3.比较运算 > 、 >= 、 < 、 <= !(取反)
==(双等号 就是所谓的等号)因为“=”是赋值 ===(全等)数据类型和值都一样 !==(不全等于)
==也有隐式转换的能力
function 会有一个子模块 内部可以用外部,外部不可以用内部
解释console.log(a) 结果为undefined ?
var a="hello world"
js代码执行前浏览器会给一个全局作用域(window)
window分两种模块 一个是储存模块 一个是执行模块
储存模块找到所有的 var function的关键字 给这些变量添加内存地址
执行模块代码从上到下执行,遇到变量 就会去储存模块查找有没有赋值 赋值了就是后面的值 没有赋值就是undefined 没有结果就是 (is not undefined)
注意储存模块没有赋值的情况
通俗讲 没定义 (var function)为 is not undefined
没赋值 (以上列将a="")undefined
js代码的执行顺序及运算的更多相关文章
- php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)
php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...
- Promise对象及它在js中的执行顺序
关于Promise对象的学习及它的执行顺序 学习阮一峰老师的ES6入门后的记录 1.promise的定义 promise是一个对象,通常包裹着一个异步操作,promise对象提供一些接口的方法,返回一 ...
- 通过指令码来判断Java代码的执行顺序(++问题与return和finally的问题)
问题 在<深入理解Java虚拟机>一书中遇到了如下代码: public int method() { int i; try { i = 1; return i; } catch (Exce ...
- java代码块执行顺序
父类 public class Father { public Father() { System.out.println("父类构造PUBLIC father"); } stat ...
- 2018.11.20-day22 类中代码的执行顺序&组合
1.类中代码的执行顺序 2.组合
- Java基础系列5:Java代码的执行顺序
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...
- Java:面向对象(继承,方法的重写(overide),super,object类及object类中方法的重写,父子类代码块执行顺序)
继承: 1.继承是对某一匹类的抽象,从而实现对现实世界更好的建模. 2.提高代码的复用性. 3.extends(扩展),子类是父类的扩展. 4.子类继承父类可以得到父类的全部属性和方法.(除了父类的构 ...
- Java——Java代码的执行顺序
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...
- 创建HttpFilter与理解多个Filter代码的执行顺序
1.自定义的HttpFilter,实现Filter接口 HttpFilter package com.aff.filter; import java.io.IOException; import ja ...
随机推荐
- EXCEL FAQ
1.win7双击打开EXCEL07时显示停止工作,但是在打开方式中可以打开,怎么破? 加载项的问题,在选项-信任中心-信任中心设置-加载项-禁用所有应用程序加载项即可,但是这样会丧失一些功能,也可以把 ...
- 百视通与微软共同宣布9月在华发布Xbox One
4月30日消息,百视通今日与微软共同宣布,于今年9月在华发布Xbox One.这是继百视通与微软2013年9月成立合资公司后,双方合作的又一进展. 微软副总裁,硬件及设计工作室部门主管尤瑟夫 •梅赫迪 ...
- 麻省理工大学新发明:暗黑WiFi透视技术
美国麻省理工学院(MIT)宣布,该大学的研究人员开发出了一种可以通过WiFi信号来检测人体移动情况的系统(Wi-Vi).据MIT介绍,该系统可以检测出钢筋混凝土墙壁背后的人体移动情况,其未来可以被作为 ...
- Locust 测试结果通过Matplotlib生成趋势图
目的: 相信大家对于使用Loadrunner测试后的结果分析详细程度还是有比较深刻的感受的,每个请求,每个事务点等都会有各自的趋势指标,在同一张图标中展示.如下图: 而Locust自身提供的chart ...
- UML-(团队作业)
UML设计 1.团队信息: 队名:异次元 2.团队成员: 姓名 分配任务 王诚荣(队长) 汇总合并,系统活动图 马祎特 好感度系统类图,电子版图片绘制 陈斌 个人中心,闹钟界面用例图,状态图 洪康 后 ...
- 6.1 socket 长连接、短连接
一般情况下,服务器的长连接和短连接不是服务器说了算,而是客户端说了算.因为服务器是给别人提供业务的,一旦连接建立起来之后,服务器端不会主动把连接给close掉. 客户端发送一笔业务,没有关闭连接,然后 ...
- 批量解帧视频文件cpp
前言 将多个视频文件进行解帧. 实现过程 1.批量获取文件路径: 2.对某个视频文件进行解帧: 代码 /************************************************ ...
- Knight Tournament 合并区间
Hooray! Berl II, the king of Berland is making a knight tournament. The king has already sent the me ...
- windows dos命令
dos命令配置环境变量: path=%path%;D:\Installed software\Professional software\Python27 (https://www.cnblogs ...
- 【CQOI2008】中位数
题不难,但是思路有意思,这个是我自己想出来的OvO 原题: 给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b.中位数是指把所有元素从小到大排列后,位于中间的数. n<= ...