JS基础
引入javascript
内部引入:
<script type="text/javascript">js代码</script>
外部引入:
<script type="text/javascript" src="xx.js">js代码</script>
变量
JS声明变量都用var关键字
变量名要求:
1.数字\字母\下划线和$组合
2.不能以数字开头
3.不能是关键字和保留字
4.区分大小写
命名规范:驼峰命名法
五种基本数据类型
var a = 10;
var b = "123";
var c = "sdf";
var d = true;
var e = false;
var f = null;
var g;
判断相等
console.log("5" == 5);
console.log("5" === 5);
console.log("5" != 5)
console.log("5" !== 5)
var a = 10;
var b = a++;
console.log(a,b);
运算符
for(var a = 3; a < 10; a+=5){
setTimeout(function(){
console.log(a);
},1000);
if(a == 8){
break;
}
}
console.log(a);
a=100;
类型转换
查看类型:
console.log(typeof (a));
转数字
NaN类型:Not a number
console.log(Number(true));
console.log(Number(false));
console.log(Number("123"));
console.log(Number("abc"));
console.log(Number("a1"));
console.log(Number("1556asdf"));
console.log(Number(""))
console.log(Number(" "));
console.log(Number(underfined));
console.log(Number(null));
转字符串:加上双引号即可
console.log(String(undefined));
转布尔值:数字:非0为真 字符串:非空为真
console.log(Boolean(-1));
隐式转换
加号两边如果有一个是字符串,就是拼接字符串
其它运算符是转化为数值计算
console.log(3 + true);
console.log(null + 5);
console.log(false + "2");
console.log(5 - true);
console.log(7 + null);
console.log(6 + undefined);
转数字取整 parseInt()
console.log(parseInt(5.6));
console.log(parseInt("5.6"));
console.log(parseInt"34a6sd");
console.log(parseInt("a1"));
parseInt函数
第一种用法:进制转换
parseInt(num1,num2);
num2代表进制数,比如num2=2,代表2进制,num1是2进制生成的数,num2=10代表10进制,num1是10进制生成的数,
parseInt将会把num2进制的num1转换为10进制的数输出,num2介于2到36之间,如果num2省略或者为0,则默认把num1当做10进制的数打印出来,
如果num2=1或者大于36,console.log(parseInt(num1,num2)),输出结果为NAN,比如parseInt(num1,37),parseInt(num1,1)
如果num1中某个数大于等于num2,则输出也是NAN,比如parseInt(3,2),2进制的3根本不存在,也就无法转换为10进制输出
当num2为0或2-36之间,且num1的值也合理的时候,比如parseInt(101,2),即二进制的101,输出结果为1*2^0+0*2^1+1*2^2=5,
parseInt(10,10),10进制的10,输出为0*10^0+1*10^1=10,
parseInt(16,11),如果num2>=10,num1可以为任意数字组合,6*11^0+1*11^1=17,转化10进制的17输出
parseInt(1241,25),1*25^0+4*25^1+2*25^2+1*25^3=16976
第二种用法:取整
只有一个参数,所以parseInt(num1)默认以10进制的数打印出来,
parseInt(3.3)=3
parseInt(0.5)=0
parseInt(3.9)=3
第三种:字符串转数字
只有字符串中的第一个数字会被返回
如果字符串的第一个字符不能转换为数字,那么parseInt()返回NAN
parseInt("145")=145
parseInt("145.44")=145
parseInt("145.99")=145
parseInt("145ASD")=145
parseInt("ASD145")=NAN
parseInt("145ASF478")=145
生成随机数
var num = parseInt(Math.random()*(30 - 20 + 1) + 20);
console.log(num);
函数
匿名函数
var fn = function(){
console.log("我是匿名函数");
};
fn();
匿名函数自执行
(function(){
console.log("我是匿名函数1");
})();
(function(){
console.log("我是匿名函数2");
}());