1、js编码的编写位置
1)JS可以写到script的标签中
2)也可以把JS写到标签的onclick属性中
3)也可以把JS写到超链接的href的属性中:javascript:;
4)可以把js代码编写到外部的js文件中,然后通过script标签引入,script标签一旦用于引入外部文件,就不能再编写代码了,写了也没有用(推荐的写法)
2、常用debug手段
1)alert:浏览器弹出一个警告框
2)document.write:向body中输出一个内容
3)console.log:向控制台输出一个内容
3、JS的编写基本语法
1)JS是严格区分大小写
2)JS中每一条语句以分号结尾
3)JS会忽略多个空格和换行
4、JS字面量和变量、标识符、字符串、Number、布尔值、Null和Undefined
1)var声明变量,并且赋值
2)所有可以自主命名的都可以成为标识符,例如变量名、函数名等,包含字母、数字、_、$;不能以数字开头;一般采用驼峰命名法:首字母小写,每个单词开头大写,其他字母小写。
3)6种数据类型:字符串("hello"或者’hello’)、数值、布尔值、空值、未定义和对象。
4)typeof检查变量类型;Number.MAX_VALUE,Number.MIN_VALUE获得数字最大最小值正值;Infinity代表正无穷;NaN表示not a number;
5)布尔值:true false
6)undefined:声明未赋值
5、强制类型转换
1)其他类型转换成String:调用toString()方法(不会影响原变量类型)、调用String()函数
2)其他类型转换成Number:调用Number()函数、调用parseInt()或者parseFloat()
3) 以0x开头是16进制数字,以0开头是8进制数字,以0b开头是2进制数字
4) 其他类型转换成Boolean:调用Boolean()函数,除了0、NaN、空字符串、null和undefined其他都是true;两次对数据类型取反,也可以转换成boolean类型
6、运算符
1) 任何值和NaN做运算都是NaN
2) 字符串相加,会做拼串操作,其他算术操作- * /都是把字符串转换成number,再做计算
3) 任何值和字符串做加法操作,都先转换成字符串,然后再做拼串操作
4) 一元+可以把字符串转换成Number
5) 对非boolean值取反,先将数值类型转换成boolean值,然后再取反
6) 对非boolean值进行与或运算时,会先将其转换成boolean值,然后再运算,并且返回原值;与运算&&:如果第一个值为true,则返回第二个值(原值),如果第一个值是false,则返回第一个值(原值);或运算||:如果第一个值为true,则直接返回第一个值,如果第一个值为false,则返回第二个值。
7) 对于非数值进行比较运算时,会将其转换为数字再进行比较;任何值和NaN比较都是false;如果比较两侧两边都是字符,不会转换成数值进行比较,会按照Unicode进行一位一位的比较;NaN不和任何值相等,包括它本身,通过isNaN判断;undefined和null相等;=== 全等或者!==,和相等或不等类型,但是不会做类型转换,如果判断的2个值类型不一致,直接返回false;
8) 输出Unicode编码:\u四位编码(JS中显示)、&#四位编码(需要十进制)(网页中显示)