1、 Js基础
1.1 运算符
算术操作符(+、-、*、/等),
比较操作符(<、>、>=、<=等),
逻辑操作符(&&、||、!)
注意: “=” 操作符是赋值,不是等于。
+在JS中可以表示字符串的连接和数学运算
1.2 自加一,自减一( ++和- -)
mynum = mynum + 1;//等同于mynum++
mynum = mynum - 1;//等同于mynum—
1、Number+Number 输出:Number(数字加数字,输出数字)
2、Number+String 输出:String(数字加字符串,输出字符串)
3、Boolean转换成数0或1,支持数字运算
4、null转换成字符串“null”,逻辑运算的“false”或数字运算“0”
附:
如果是字符串,使用String(),数字使用Number();
比如:jq3=Number("33")+22;输出的是55,而不是“3322”
jq3=Number(22)+"33";或者jq3=Number(22)+String(33);输出的是“2233”,不是55
1.2逻辑与操作符
b>a && b<c //“&&”是并且的意思, 读法"b大于a"并且" b小于c "两边值同时满足(同时为真),整个表达式值才为真
b>a || b<c //“||”是或的意思 当两个条件中有任一个条件满足,整个表达式成立
逻辑非操作符:"!"是逻辑非操作符,也就是"不是"的意思,非真即假,非假即真
操作符之间的优先级(高到低):
算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
S中变量声明分显式声明和隐式声明
var i=100; //显示 |
1 | i=100; //隐式 |
在函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。
当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意。
a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
++a是先自增再执行表达示,执行表达式时使用的是自增后的a。
2、 数组
1注意:数组每个值有一个索引号,从0开始。
我们还可以用简单的方法创建上面的数组和赋值:
第一种方法:
var myarray = new Array(66,80,90,77,59);//创建数组同时赋值
第二种方法:
var myarray = [66,80,90,77,59];//直接输入一个数组(称 “字面量数组”)
3、循环语句
1、
Switch必须赋初始值,值与每个case值匹配。满足执行该 case 后的所有语句,并用break语句来阻止运行下一个case。如所有case值都不匹配,执行default后的语句。 var myweek =13;//myweek表示星期几变量 switch(myweek) { case 1: case 2: document.write("学习理念知识"); break; case 3: case 4: document.write("到企业实践"); break; case 5: document.write("总结经验"); break; default: document.write("周六、日休息和娱乐"); } |
2 assets/views/mvc/login_content.js
|
4、Onclick等事件
事件响应网页交互,JavaScript 创建动态页面。事件是可以被 JavaScript 侦测到的行为。
网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件。
3
4 5 οnmοuseοver="message()" |
6
4.1编程练习
使用JS完成一个简单的计算器功能。实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除。
<!DOCTYPE html> <html> <head> <title> 事件</title> <script type="text/javascript"> function count(){ //获取第一个输入框的值 //获取第二个输入框的值 //获取选择框的值 //获取通过下拉框来选择的值来改变加减乘除的运算法则 //设置结果输入框的值 var a = document.getElementById("txt1").value; var b = document.getElementById("txt2").value; var sel = document.getElementById("select").value; var d =""; switch(sel){ case "+": d=parseInt(a)+parseInt(b); break; case "-": d = a-b; break; case "*": d = a*b; break; default: d = a/b; } document.getElementById("fruit").value = d; } </script> </head> <body> <input type='text' id='txt1' /> <select id='select'> <option value='+'>+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type='text' id='txt2' /> <input type='button' value=' = ' οnclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果--> <input type='text' id='fruit' /> </body> </html> |
5、 js内置对象
5.1 JavaScript中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。
对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;
对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;
JavaScript 提供多个内建对象,比如 String、Date、Array 等等,使用对象前先定义,
对象和方法解释:对象相当于一个人,属性就是性别,胖瘦,身高,是必须通过该对象来获取的【值】;
方法是这个人可以干什么,吃饭,看电视,逛街,会运动,跳舞等,是必须通过该对象才能执行的【行为】。
5.2 Date 日期对象
定义一个时间对象 :
月份是0到11 需要注意
var Udate=new Date();
注意:使用关键字new,Date()的首字母必须大写。
getDay() 返回星期
例子:1、显示今天星期几? 设置日期,显示星期几?比如2016年3月29 周二 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>获得星期</title> <script type="text/javascript"> //var mydate=new Date(); var mydate=new Date(2016,2,29); var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; var mynum = mydate.getDay() document.write(":" + mynum+"<br>"); document.write("今天是:" + weekday[mynum]); document.write("今天是:" + weekday[mynum]); </script> </head> <body> </body> </html> |
5.3 String 字符串对象
var a= message.toUpperCase(); // 将字符串小写字母变为大写
var a = message.toLowerCase(); //将字符串大写字母变为小写
返回指定位置的字符 stringObject.charAt(index) 1. 字符串中第一个字符的下标是 0。最后一个字符的下标为字符串长度减一(string.length-1)。一个空格也算一个字符。返回指定的字符串首次出现的位置stringObject.indexOf(substring, startpos)var str="I love JavaScriptv!v" document.write(str.indexOf("I") + "<br />"); document.write(str.indexOf("v") + "<br />"); document.write(str.indexOf("v",10)); 输出 0 ,4 ,17 document.write(str.indexOf("v",10)); 输出9
|
字符串分割split()
提取字符串substring()
substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 substr 方法用于返回一个从指定位置开始的指定长度的子字符串。 substr(start [, length ]) 如:
|
5.4 Math对象
向上取整ceil() Math.ceil(0.8) 输出1
向下取整floor()
四舍五入round()
document.write(Math.round(2.5)+ "<br>");
document.write(Math.round(0.49)+ "<br>");
document.write(Math.round(-6.6)+ "<br>");
输出3;0;-7
随机数 random()
random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。
使用random()随机取得0-10之间的数值。使用round()对数值进行四舍五入。
var a ="";
a = Math.random()*10;
b = Math.round(a);
document.write(a+"<br>");
document.write(b);
5.5 数组
数组定义的方法:
1. 定义了一个空数组:
var 数组名= new Array();
2. 定义时指定有n个空元素的数组:
var 数组名 =new Array(n);
3.定义数组的时候,直接初始化数据:
var 数组名 = [<元素1>, <元素2>, <元素3>...];
我们定义myArray数组,并赋值,代码如下:
var myArray = [2, 8, 6];
数组连接concat()
指定分隔符连接数组元素join()
var myarr = new Array(3);
myarr[0] = "I";
myarr[1] = "love";
myarr[2] ="JavaScript";
document.write(myarr.join("."));
颠倒数组元素顺序reverse()
选定元素slice() 1.返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
一个数组,大小排序
function sortNum(a,b) {
return a-b;
}
var myarr = newArray("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));
//升序,如降序,把“a - b”该成“b - a”
若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
= 不用管
题目:XXXX年XX月X日星期X--班级总分为:81 ,平均分多少?
成绩:"小明:87; 小花:81; 小红:97; 小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"
<!DOCTYPE HTML> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>系好安全带,准备启航</title>
<script type="text/javascript"> //通过javascript的日期对象来得到当前的日期,并输出。 var date = new Date(); var a = date.getDay(); var week = ["星期天 ","星期一","星期二","星期三","星期四","星期五","星期六"]; document.write(date.getFullYear()+"年"); document.write((date.getMonth()+1)+"月"); document.write(date.getDate()+"日 "); document.write(week[a]+"<br> ");
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; var b = scoreStr.split(";") var sum = 0; for(var i=0;i<b.length;i++) { sum = sum + parseInt(b[i].slice(3)); } var avg = sum /b.length; //从数组中将成绩撮出来,然后求和取整,并输出。 document.write("--班级的总分为:"+sum+"<br>"); document.write("--班级的平均分:"+avg+"<br>");
</script> </head> <body> </body> </html> |
6、标题1
7、标题1