js概念
基于对象和事件驱动,并具有安全性能的客户端(浏览器)脚本语言。
js组成:ECMAScript、DOM(文档对象模型)、BOM(浏览器对象模型)
js三种写法和css样式类似,分为以下三种
内联:写在普通标签中(不推荐)<input type="button" value="" οnclick="alert('点击按钮弹出了我')">
内部:写在<script标签里><script type="text/javascript">btn.οnclick=function(){alert("hello word");}</script>
外部引入:建立一个人以.js为扩展名的js文件,用src导入<script src="text.js"></script>
js注释
1.//单行注释. 2. /* 多行注释*/
js命名规则
变量名命名规则:字母,数字,下划线,$组成,不能以数字开头,区分大小写,不能是关键字和保留字。
1.驼峰式命名法 eg:oddTxt()
2.匈牙利命名法 eg:odd_txt()
运算符
三种:一元运算符、二元运算符、三元运算符
基本运算符:+ - * / %
赋值运算符:= += -= *= /= %= (当赋值符号左右两边的变量名一致时,可以写为a+=10)
关系运算符(比较运算符)> < >= <= == != === !== 结果要么为true要么为false
js数据类型
数值(number)字符串(string) 布尔(boolean) undefined null 对象(object)
//弱类型
var a = 10;//数值类型
var a = "abc";//用成对的引号引起来的字符,都成为字符串
var a = true;//布尔类型只有两个值 true false
var a = undefined;/只有一个值 undefined 是为了区分一个变量是声明了未赋值,还是没有声明
var a = null;//只有一个值 null 通常用在以下情形:声明的这个变量用来保存一个具体的对象的,但是这个对象目前还不存在
var a = {};//object类型
var b; //声明一个变量,未赋值,该变量默认取到undefined
null的用法,null表示暂时用不到,但是后续一定会用到的。
var xbf = null;//声明一个男朋友,现在没有,将来一定会有
xbf = { //男朋友属性
name:"beibei",
age:18,
fn:function(){}
}
类型转换
显式转换
//强制转换 转型函数 Number() String() Boolean() parseInt() parseFloat()
//parseInt() parseFloat() 是将字符串按照一定的规则转换成数值
//var b = "10ab20";
//var c = parseInt(b);//从第一个为数字的字符开始取值直到非数字字符结束,结果是(10)
console.log("a">"b");//按照各自的ASCII值进行比较
console.log("a">1);// 字符串与数字比较,结果NaN(not a number)
console.log(NaN==NaN);//false;NaN和数字比较任何时候都是false
console.log(Null==0和>,<)//都是false
console.log(null>=,<=,!=0)//都是true。
parseInt和Number(“”,“ ”,“10a”,“a”)//字符串类型
结果:parseInt:NaN,NaN,10,NaN
结果:Number:0,0,NaN,NaN
隐式转换
//数值类型和字符串类型 (+ 不是求和而是拼接,数值转成了字符串 其他的运算时字符串转换成数值)
//字符串转成数值 //console.log("10">"2");//1和2先比一下
//数值和布尔值 布尔值转换成数值 true转换成1 false转换成0
//字符串和布尔值 + 布尔值转字符串 其他的运算是字符串和布尔值均转换成数值
//一些特殊的值在转其他类型时具体的取值,理解加识记
console.log(Number("abc"));//NaN
console.log(Number(""),Number(" "),Number(true),Number(false),Number(undefined),Number(null));//结果(0,0,1,0,NaN,0)
console.log(String(1),String(0),String(true),String(false),String(undefined),String(null));//结果(“1”,“0”,“true”,“undefined”,“null”)
console.log(Boolean(1),Boolean(0),Boolean(""),Boolean(" "),Boolean(undefined),Boolean(null));//结果(true,false,false,true,false,false)(布尔不为0,除了特殊值均为true)
console.log(Boolean(10),Boolean(-10));//结果(true,true)
console.log(Boolean("0"));//结果(true)