1、第一个js程序
一个项目包括三部分:前端(html、css、js)、数据库、后端技术
引入方式:页面中直接写,script标签引入
js事件绑定:
<input type="button" value="按钮" onclick="myClick()" />
<input type="button" value="按钮" id="btn"/>
function myClick(){
console.log("点击按钮");
} document.getElementById('btn').onclick=function(ev){
console.log("点击按钮");
}
2、js变量声明规则
var iNum1 = 10;
var sString = "abceelf";
var bFlag = true;
var aNum = [1,2,3,4,5];
var oObject = {name:'marry',age:18};
var fNumber = 10.3;
变量命名规范:
1)变量的第一个字符必须是字母、下划线_、或$
2)其余的字符必须是 下划线_ 、字母、数字、或$
3)不能用js的关键字
4)驼峰命名法
3、变量转换
var iNum1 = 10;
var sString = "baude";
// + 作拼接作用,使数字转换成字符串浏览器自动转换的,取toString()方法
iNum1 + sString
//而 -号、*号、/号只能作运算,即将所有数据转换为数字,取Number()方法,如果不能转换则为NaN var bFlag = true;
//布尔值转换为数字1或0
iNum1 + bFlag //把数据转换成数字
var sString2 = “20djaog”;
Number(sString2)//将数字的字符串转换为数字
parseInt(sString2)//将不能转换为止
parseFloat("10.2ajofg")//可以转换浮动型
4、js字符串操作
var sString = "Hello world";
sString.length //获取字符串长度
sString.charAt(2) //获取字符串指定索引的字符
sString.substring(start,end) //截取字符串从start位置到end位置,如果end缺省则到结尾
sString.substr(start,length) //截取字符串从start位置截取length个字符
sString.indexOf('a',start) // 返回字符串中指定的字符a第一次出现的位置,若无则返回-1;若第二个参数有,则从第二个参数start的位置开始
sString.lastIndexOf('a',start) //从右边到左边查询
5、js数组
//数组声明
var aTeam = new Array(4);
aTeam[0] = "dkop";
...... var aTeam = ["dd","es","ag"]; //数组方法
aTeam.toString(); //默认通过逗号隔开
aTeam.join("_").toString(); //指定通过 _ 隔开
aTeam.reverse().toString() //反序处理 //字符串处理为数组
var sString = "deig_taig_kie_lieng";
sString.split("_") //通过指定字符进行分割,返回一个数组
6、条件判断
运算:除/ 、取余%
条件语句
if(条件1){
//第一种情况
}else if(条件2){
//第二种情况
}else{
//剩余情况
} //if语句也可以使用三元运算符等价代替
if(a>b){
c=a;
}else{
c=b;
}
等价于 c = a>b ? a:b;
7、等于号的区别=、==、===
// =是赋值
// ==是不判断类型,会自动转换为相同的类型再进行判断
// ===会先判断类型是否相同
var iNum = 10;
var sNum = ‘10’;
if(iNum == sNum){
//不判断类型
}
if(iNum === sNum){
//判断类型
} //逻辑运算符 &&、 ||、 !
8、循环结构
//while循环
var i = 0;
var iSum = 0;
while(i<101){
//当前的iSum=上次的iSum+当前的i
iSum += i;
i++
}
alert(iSum); //do...while循环
//for循环
var iSum = 0;
for(var i=0;i<101;i++){
iSum += i;
}
9、for循环的嵌套
//9*9乘法表,首先最重要的就是确定各个循环变量的范围
// var i (1~9) var j<i
var sHtml = "<table>";
for(var i = 1;i<=9;i++){
sHtml+="<tr>";
for(var j = 1;j<=i;j++){
sHtml+="<td>"+i+"*"+j+"="+i*j+"</td>";
}
}
sHtml+="</table>";
document.writeln(sHtml); //以下是反向写入页面中
var sHtml = "<table>";
for(var i = 9;i>=1;i--){
sHtml+="<tr>";
for(var j = i;j>=1;j--){
sHtml+="<td>"+i+"*"+j+"="+i*j+"</td>";
}
}
sHtml+="</table>";
document.writeln(sHtml);
//冒泡排序:前面的元素依次和后面的元素进行比较
var aNumber = [10,2,34,4,56,12,45,44,6,12,23,55];
var iNum = 0;
for(var i = 0;i<=aNumber.length-2;i++){
for(var j = i+1;i<=aNumber.length-1;j++){
if(aNumber[i]>aNumber[j]){
iNum = aNumber[i];
aNumber[i] = aNumber[j];
aNumber[j] = iNum;
}
}
}
alert(aNumber); //以下是降序
var aNumber = [10,2,34,4,56,12,45,44,6,12,23,55];
var iNum = 0;
for(var i = 0;i<=aNumber.length-2;i++){
for(var j = i+1;i<=aNumber.length-1;j++){
if(aNumber[i]<aNumber[j]){
iNum = aNumber[i];
aNumber[i] = aNumber[j];
aNumber[j] = iNum;
}
}
}
alert(aNumber);
10、switch语句
switch(num){
case 1:
alert('星期1');
break;
case 2:
alert('星期2');
break;
case 3:
alert('星期3');
break;
case 4:
alert('星期4');
break;
default:
alert("星期天");
break;
}
11、break、continue和return
function myClick() {
var iSum = 0;
for(var i=1;i<101;i++){
if(i==5){
//跳出整个循环体,只加到5
// break;
//跳过当前条件的循环,即除去5
// continue;
//结束整个方法体,此外return也可以作为函数的返回值
return;
}
iSum += i;
}
alert(iSum);
}
12、Math对象
Math.PI;
Math.max(10,32,40);
Math.min(10,32,40);
Math.round(12.59);//四舍五入
Math.ceil(12.1);//向上取整
Math.floor(12.9);//向下取整
Math.random();//获取0~1的随机数,不包括0和1
Math.floor(Math.random()*100+1) //获取1~100之前的整数
13、date对象
var myData = new Date();
myData.getFullYear();
myData.getMonth()+1;//月是从0开始的,所以要加1
myData.getDay();
myData.getHours();
myData.getMinutes();
myData.getSeconds();
14、setInterval和setTimeout
function myClick() {
var i=0;
//循环执行
var timer = setInterval(function () {
i++;
if(i==6){
//清除指定的定时器
clearInterval(timer);
}
console.log(i);
},1000); //只执行一次
setTimeout(function () {
i++;
console.log(i);
},1000);
}