初识JavaScript
一、JavaScript是运行在客户端的脚本语言,不需要编译,运行过程中由JS解释器逐行解释并执行
二、浏览器分为渲染引擎和JS引擎
三、JS组成
四、JS书写位置
<body>
<input type="button" value="唐伯虎" onclick="alert("秋香")">
</body>
<script>
alert("沙漠骆驼")
</script>
<script src="my.js"></script>
引用外部文件中间不能写代码
注释
输入输出语句
变量
概述
变量是程序在内存中申请的一块用来存放数据的空间
使用
语法扩展
命名规范
<script>
var apple1="青苹果";
var apple2="红苹果";
var temp;
temp=apple1;
apple1=apple2;
apple=temp;
</script>
数据类型
简介
简单数据类型
数字型
Number: var num=10;字符串型
布尔型
undefined类型
null
var space=null;
alert(space+"pink")//"nullpink"
alert(space+1)//1
获取变量数据类型
var num=10;
alert(typeof num) //number
其余同上
数据类型的转换
转换为字符串
转换为数字型
alert("12"-0); //12
alert("123"-"120"); //3
alert("123"*1) //123
var num1=prompt("请您输入第一个值:");
var num2=prompt("请您输入第二个值:");
var result=parseFloat(num1)+parseFloat(num2);
alert("您的结果是: "+result);
转换为布尔型
运算符
算术运算符
递增递减运算符
前置递增运算符(递减)
var age=10;
++age;
alert(age); //11
后置递增运算符(递减)
var age=10;
alert(age++ +1); //20
alert(age); //11
比较运算符
alert(18=="18"); //true == 默认转换数据类型,会把字符串转换为数字型,只要求值相等就可以。
alert(18==="18"); //false === 要求一模一样,并且数据类型也一致
逻辑运算符
短路运算(逻辑中断)
原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值。逻辑与语法:表达式1&&表达式2 如果第一个表达式的值为真,则返回表达式2,如果第一个表达式的值为假,则返回表达式1
逻辑或语法:表达式1||表达式2 如果第一个表达式的值为真,则返回表达式1,如果第一个表达式的值为假,则返回表达式2
var num=0;
alert(123 || num++);
alert(num) //0 逻辑中断很重要,他会影响我们的程序运行结果
赋值运算符
var age=10;
age+=5; //age=age+5
age*=5; //age=age*5
age-=5; //age=age-5
运算符优先级
流程控制语句
数组
创建方式
利用new创建数组
var 数组名=new Array();
var arr=new Array(); //创建一个空数组
字面量创建数组
var arr=[]; //创建空数组
var arr=[1,2,"哈哈",true];
获取方式
//定义数组
var arr=[1,2,3];
//获取元素
alert(arr[1]);输出2
遍历数组
var arr=[1,2,3,4,5,6];
for(i=0;i<arr.length;i++){
alert(arr[i]);
}
求数组[2,6,1,77,52,25,7]中的最大值
var arr=[2,6,1,77,52,25,7];
var max=arr[0];
for(var i=0;i<arr[1];i++){
if(arr[i]>max){
max=arr[i];
}
}
alert(max);
数组转换为分割字符串:将数组["red","green","blue","pink"]转换为字符串,并且用符号分割
var arr=["red","green","blue","pink"];
var arr1=[];
for(var i=0;i<arr.length;i++){
arr1=arr1+arr[i]+"|";
}
alert(arr1);
数组中新增元素
通过修改length新增数组元素
var arr=[1,2,3,4];
arr.length; //4
arr.length=7; //数组长度扩展到7
alert(arr[4]); //因为索引号为4,5,6的空间没有给值,就是声明变量没有给值,输出undefined
通过修改索引号新增元素
var arr=[1,2,3];
arr[3]=4;
arr[4]=5;
arr[0]=6; //这里是替换原来的元素
筛选数组:将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素取出来
方法1 var arr=[2,0,6,1,77,0,52,0,25,7];
var arr1=[];
var j=0;
for(i=0;i<arr.length;i++){
if(arr[i]>=10){
arr1[j]=arr[i];
j++;
}
}
alert(arr1);
方法2
var arr=[2,0,6,1,77,0,52,0,25,7];
var arr1=[];
for(i=0;i<arr.length;i++){
if(arr[i]>=10){
arr1[arr1.length]=arr[i];
}
}
alert(arr1);
翻转数组:将数组["red","green","blue","pink"]反过来存放
var arr=["red","green","blue","pink"];
var arr1=[];
for(var i=arr.length-1;i>=0;i++){
arr1[arr1.length]=arr[i];
}
冒泡排序
从小到大
var arr=[5,4,3,2,1];
for(var i=0;i<=arr.length-1;i++){ //外层循环管趟数
for(var j=0;j<=arr.length-i-1;j++){ 内层循环管每一趟交换的次数
//内部交换2个变量的值,前一个和后面一个数组元素相比较
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}