JavaScript代码执行顺序和数据类型
栏目: JavaScript · 发布时间: 5年前
内容简介:注:
- 浏览器解释代码是自上而下的,遇到script标签会直接解读js代码,下面的html元素就不会被解析,下面的html元素就获取不到,直到读取完毕。
- src引入的图片资源/js资源,href引入的css资源,整个文档也需要加载,到资源加载完毕,就可以执行代码。
<!-- 报错 --> <script> document.getElementById('box').onclick = function(){ alert(1); } </script> <div id="box">123</div> 复制代码
<!-- 正常 --> <script> //当我们的窗口内所有的资源都加载完成之后,执行其中的代码 window.onload = function(){ document.getElementById('box').onclick = function(){ alert(1); } } </script> <div id="box">123</div> 复制代码
- 当alert放到div的上方,开启窗口的时候,div不加载,点击确定后加载,刷新页面后div消失。
- 当alert放到div的下方,如果在chrome的64版本以上,包括360、qq等浏览器的最新版本,开启窗口的时候,div不加载,点击确定后加载,刷新页面后div消失。**alert对话框不会激活所在的选项卡,**当我们新建选项卡时,显示正常。如果在火狐浏览器,就是正常的出现div,出现弹窗。不阻止上面元素的加载。
- 所有的alert代码在chrome中只在第一次阻止页面的加载,但是在火狐浏览器都是正常的。
二、数据类型
- 数值型(number):包括小数和整数,在js中,小数运算是不精确的,不能用它做判断。
var num = 12.3; console.log(typeof num);//number 复制代码
- 字符串(string):字符连成的串,可以用""、''包裹,此时字符串不能换行,``反引号包裹可以换行。
var str = '你好'; console.log(typeof str);//string 复制代码
- 布尔值(boolean):true/false。
var b = true; console.log(typeof b);//boolean 复制代码
- function(function):没有名字的函数,称之为匿名函数,不能莫名其妙的出现一个匿名函数。具名函数可以通过函数名+()。
function fn(){ alert(1); } console.log(typeof fn);//function 复制代码
-
对象(object):简单的写法为{},实际上空的一个对象是使用
new Object
得到的。
//var obj = {}; var obj = new Object; console.log(typeof obj);//object 复制代码
-
数组(object):数组中可以存放任何数据类型,简单写法[数据, 数据, 数据],空数组为[],是由
new Array
创造的。
//var arr = []; var arr new Array; console.log(typeof arr);//object 复制代码
- null(object):本质是一个空对象指针,是找对象的时候没找到。
var n = document.getElementById('box'); console.log(typeof n);//null 复制代码
- undefined(undefined):声明了但是并未赋值。
var u; console.log(typeof u);//undefined 复制代码
注:
- js中有5种简单数据类型(也称为基本数据类型):undefined、null、boolean、number、string,还有1种复杂数据类型:object,object本质上是由一组无序的名值对组成的。
- 对一个值使用typeof操作符可能返回下列某个值:undefined、boolean、string、number、object、function。
- 对于尚未声明过的变量,只能执行一项操作,即使用typeof操作符检测其数据类型,对于未初始化的变量执行typeof操作符会返回undefined,而对未声明的变量执行typeof操作符同样也会返回undefined。
var message;//这个变量声明之后默认取得了undefined值 //下面这个变量并没有声明 //var age; alert(typeof message);//"undefined" alert(typeof age);//"undefined" 复制代码
- undefined值是派生自null值的,因此对他们的相等性测试要返回true。
alert(null == undefined);//true 复制代码
以上所述就是小编给大家介绍的《JavaScript代码执行顺序和数据类型》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- SQL语句执行顺序详解
- [SQL]SQL 执行顺序
- go : select 的执行顺序
- Go基础系列:指定goroutine的执行顺序
- Python中多重装饰器执行顺序(由下至上)
- 动态加载javascript文件时,如何让文件顺序执行
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ACM国际大学生程序设计竞赛题解
赵端阳//袁鹤 / 电子工业 / 2010-7 / 39.00元
随着各大专院校参加ACM/ICPC热情的高涨,迫切需要有关介绍ACM国际大学生程序设计竞赛题解的书籍。《ACM国际大学生程序设计竞赛题解(2)》根据浙江大学在线题库的部分题目,经过分类、筛选、汇编,并进行了解答(个别特别简单或者特别复杂的题目未选择),比较详细地分析和深入浅出地讲解了解题的方法和用到的算法。题目的类型包括基础编程、模拟、字符串处理、搜索、动态规划、回溯、图论、几何和数学题。 ......一起来看看 《ACM国际大学生程序设计竞赛题解》 这本书的介绍吧!