javaScript基础学习
js输入/输出语句
输入语句
浏览器弹出输入框
prompt('输入你的年龄');
输出语句
1.弹出警告框alert()
2.让计算机在页面中输出一个内容 document.write()可以向body中输出一个
3.向控制台输出一个内容 console.log()
alert("Helle,word");
document.write("Helle,word")
console.log("Helle,word")
js数据类型
6 种 数 据 类 型 是:Number、String、Boolean、undefined、object、Null。
基本数据类型:
1.String 字符串
如果有字符串引号嵌套,可采取外单内双或者外双内单。
var str='我是一个"程序猿"'
- Number 数值(包含整数和浮点数)
1.八进制0~7 程序里数字前面加0代表八进制
var num=010;
console.log(num);
//num自动转为十进制的8
2.十六进制0~9 a~f 数字前面加0x表示十六进制
- 在JS中可以表示的数字的最大值:
consolse.log(Number.MAX_VALUE);
1.7976931348623157e+308- 在JS中可以表示的数字最小正值(大于0的最小值):
consolse.log(Number.MIN_VALUE);
5e-324
- Boolean 布尔值
布尔(逻辑)只能有两个值:true 或 false。
var x=true;
var y=false;
参与运算中true被当作1,false被当作0;
代表空.否定的值会被转换为false,如" ",0,NaN,null,undefind
其余值都会被转换为true。
- Null 空值
引用数据类型:
1. Undefined 未定义
声明变量未给值,与数字相加为NaN;
2.Object 对象
检测数据类型
typeof
var num1 = 10;
console.log(typeof num);//number
var flag=ture;
console.log(typeof flag);//Boolean
数据类型转换
1.转换为字符串类型
1.toString()转化为字符串
var num=1;
alert (num toString());
2.String()强制转换
alert(String(num));
3.加号字符串拼接(隐式转化)
alert(num + "");
2.转化为数字类型
1.parselnt(string)函数 将string转化为整数数值类型
parselnt("78");//78
2.parseFloat(string)函数 将string转化为浮点数数值类型
parseFloat("78.21")//78.21
3.Number()强制转换
4.js隐式转换(- * /)利用算术运算隐式转化"12"-0
3.转化为布尔类型
代表空.否定的值会被转换为false,如" ",0,NaN,null,undefind
其余值都会被转换为true。
console.log(Boolean(NaN));//false;
console.log(Boolean(0));//false;
console.log(Boolean(null));//false;
console.log(Boolean(undefind));//false;
console.log(Boolean(" "));//false;
数组
var arr=[值1,值2,值3]; //隐式创建
var arr=new Array(值1,值2,值3); //直接实例化
var array=new Array(size); //创建数组并指定长度
//方法一
var arr1 = [1,3,5,7,9];
document.write(arr1[2] + '<br>');
//方法二
var arr2 = new Array(2,4,6,8,10);
document.write(arr2[3] + '<br>');
//方法三
var arr3 = new Array(3);//固定数组长度为3
arr3[0] = 1;
arr3[1] = 2;
arr3[2] = 3;
document.write(arr3[2] + '<br>');
数组长度
数组对象.length
在js中,每一个数组对象都可以调用length属性,它表示数组对象下共有几个数组元素
var row = ['zhangsan','lisi','wangwu'];
doucument.write('共有'+row.length+'个人<br>');
var length = row.length;//对数组进行遍历
for (var i=0;i<length;i++){
doucument.write(row[i]+'<br>');
}
函数
函数声明
function 函数名(){
函数体
}
调用函数
函数名();
例子判断润年2月的天数
<script>
function isRunYear(year){
var flag = false;
if(year % 4 == 0 && year % 100 != 0||year%400==0){
flag = true;
}
else{
flag = false ;
}
return flag;
}
function backDays(){
var year = prompt("请输入所查询的年份 ;");
if(isRunYear(year)){
alert("今年是闰年2月份有29天。");
}
else{
alert("今年是平年2月份有28天。");
}
}
backDays();
</script>
预解析
js运行分两步:预解析 代码执行
预解析分为变量预解析(变量提升)和函数预解析(函数提升)
(1)变量预解析
把所有变量声明提到当前作用域最前面 不进行赋值操作;
(2)函数预解析
把所有函数声明提到当前作用域最前面 不调用函数;
fun(); //报错
var fun = function(){
console.log(22);
}
相当于以下代码
var fun ;
fun ();
fun = function(){
console.log(22);
}
//没有进行赋值操作直接调用
根据函数的调用方式不同,this会指向不同的对象
谁调用this他就指向谁