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应该放在哪里?有时候咱们想让一段脚本在页面加载的时候优先执行,有时候咱们想在用户触发一个事件的时候执行,因此,具体放在哪里,因需求而定。数组
(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 |
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
(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