JavaScript基础知识-(词法,类型)

1,JavaScript的引入

  JavaScript赋予网页灵魂,让页面能够动起来,更增长了与用户的交互,使用起来的也比较方便javascript

<head>
	<script type="text/javascript">
    	// javascript 代码
	</script>
</head>
复制代码

或者在body的结尾引入java

<body>
	<script src="" type="text/javascript" charset="utf-8"></script>
</body>
复制代码

JS放在head和放在body中的区别
1,JS若是放在head中,则先被解析,但这个时候body尚未解析,DOM节点尚未生成,因此会返回空值 undefind。解决的办法windows

windows.onload = function() {
  // JS代码
}
复制代码

因此:放在head中的JS代码会在页面加载完以前就被读取了,而放在body结尾的代码,会在整个页面加载完以后被读取。
JavaScript应该放在哪里?有时候咱们想让一段脚本在页面加载的时候优先执行,有时候咱们想在用户触发一个事件的时候执行,因此,具体放在哪里,因需求而定。数组

2,词法结构

(1) JavaScript是区分大小写的,因此声明变量的时候要注意。HTML是不区分大小写的
(2) JavaScript注释方法:单行注释:// 多行注释:/**...*/ 多行注释不能嵌套多行注释
(3) JavaScript没有强制要求使用分号,由于在解析的时候,除了分号还会以换行做为断句的依据,从而会帮你填补分号。我的建议:为了加强代码可读性,减小歧义,我的意见是在语句结束的地方,加上分号。
(4)JavaScript标识符第一个字符必须是字母,下划线,或者美圆符号,切记,数字是不容许做为首字符出现的,并且变量名中不能出现空格,或者标点符号 (5)在JavaScript里面具备某种特殊意义的单词叫作关键字,可能未来做为关键字的叫作保留字。这些单词是不容许做为声明的变量使用的
关键字 && 保留字bash

abstract double goto native static
boolean enum implements package super
byte export private synchronized import
char extends int protected throws
class final interface public transient
const float long short volatile
break do case else void
continue for switch while debugger
if throw delete in try
var function new return default
let yield arguments true this

3,类型

JavaScript的6中数据类型,可分为两类:原始类型对象类型
原始类型:number,string, boolean, null, undefined
对象类型:object( 包含Function, Array, Date, RegExp,Error ... 等等),
符合(symbol) ES6新增类型
能够用typeof运算符来查看值的类型函数

<script type="text/javascript">
	console.log(typeof undefined === 'undefined')
	console.log(typeof true === 'boolean')
	console.log(typeof 100 === 'number')
	console.log(typeof 'abc' === 'string')
	console.log(typeof {} === 'object')
	console.log(typeof function a(){} === 'function')
	console.log(typeof null === 'object') // 特别注意,存在已久的bug
	console.log(typeof Symbol() === 'symbol')
	// 平常开发判断null方法
	var str = null;
	console.log(!str && typeof str === 'object')
</script>
复制代码

上述代码结果返回都是true值ui

4,表达式和运算符

(1)&& ,& 第一个和第二个都为true,则返回true
(2)|| ,| 只要有一个为真值就返回真,全假返回false
(3)a++ 先使用a值,而后加1, ++a 先加1,而后使用a值 (b--和--b同理)
(4)= 称做赋值 == 称做相等 === 称做严格相等this

1,若是两个值类型不相同,则他们不相等
    2,若是两个值都是null,undefined,则他们不相等  
    3,若是两个值都是false,true,则他们相等    
    4,若是任何一个值为NaN,或者两个都为NaN,则不相等
    5,若是两个引用值指向同一个对象,数组或者函数,则相等
复制代码

(5)in运算符,左边操做数是一个字符串,右侧是一个对象,若是右边对象里面含有左边操做数的值,那么表达式返回true
(6)instanceof运算符,左侧为一个对象,右侧表示对象的类,若是左侧对象是右侧类的实例,返回true。注意:全部的对象都是Object的实例spa

相关文章
相关标签/搜索