JavaScript每日基础知识整理
位运算符
用于二进制,与 或 异或。
5:101
6:110
&用来表示与运算,11结果为1其余全部为0
| 或运算,00结果为0其余为1。
^异或运算,相同的结果为0,不同的结果为1.
用来区分权限身份,
一个系统总共有11个权限,财务管理员拥有11个权限,主任管理员拥有5个权限,班长管理员拥有3个权限
var num1=5;
var num2=6;
alert(num1.toString(2));
alert(num2.toString(2));
alert(num1.toString(2)&num2.toString(2));
得到101,110,100.
var num1=5;
var num2=6;
alert(num1.toString(2));
alert(num2.toString(2));
alert(num1.toString(2)|num2.toString(2));
得到101,110,111.
程序设计思维
例:用户输入任意一个三位数,获得这个三位数各个位数的加和并打印。
1 接收用户输入的数,并把它存入一个变量当中(num)
2 计算着个三位数的百位数,除以100取整
3 计算出这个三位数的十位数,除以10取整并对10取余
4 计算个位数,对10取余
5 将个位十位百位加和赋值给sum
6 打印结果。
var num=Number(prompt("请输入一个三位数"));
var num1=num%10;
var num10=Math.floor(num/10)%10;
var num100=Math.floor(num /100);
var sum=num1+num10+num100);
alert(sum)
什么是编程?
编程就是根据业务的需要,制定做这个事情的流程。用计算机语言去翻译这个流程。
对我们的要求
1 熟悉业务,能够将业务抽象为流程。
2 熟悉计算机语言。
例:根据三角形的三边去计算三角形的面积(海伦公式:三角形的面积等于S=Math.sqrt(p*(p-a)*(p-b)*(p-c))(p为周长的一半)
var a=Number(prompt("请输入三角形的第一条边长"));
var b=Number(prompt("请输入三角形的第二条边长"));
var c=Number(prompt("请输入三角形的第三条边长"));
//计算机三角形的面积,首先要判断是否构成三角形
//任意两边之和大于第三边才能构成三角形。
var p=(a+b+c)/2;
var s =Math.sqrt(p*(p-a)*(p-b)*(p-c))
alert(s);
例:话费计时器。1.2/分钟,要求输入时间数打印要付的钱。
//1、接收用户输入的时间(time)
//2、定义单位的时间价格为1.2(price)
//3、将输入的时间转化为分钟数(时间除以60,再向上取整)
//4、用分钟数乘以价格计算出要付的费用(money)
//5、打印费用
var time=Number(prompt("请输入通话的时间"));
var price= 1.2;
var t=0;
t= Math.ceil(time/60);
var money=t*price;
alert(money);
2 选择结构
为什么要有选择结构:
因为生活中也有很多选择,计算机也有了选择结构。
if(下雨){
在食堂吃饭
}else{
就出去吃饭
}
完善三角形面积的案例
var a=Number(prompt("请输入三角形的第一条边长"));
var b=Number(prompt("请输入三角形的第二条边长"));
var c=Number(prompt("请输入三角形的第三条边长"));
//计算机三角形的面积,首先要判断是否构成三角形
//任意两边之和大于第三边才能构成三角形。
if((a+b)>c &&(a+c)>b &&(b+c)>a)
{var p =(a + b + c)/ 2;
var s = Math.sqrt(p *(p - a) * (p -b) * (p - c))
alert(s);
}else{
alert("对不起,您输入的三个边长不能构成三角形")
}
例:判断一个数是否水仙花数(个位的立方+十位的立方+百位的立方等于这个数本身)
//1、接收用户的数并把它存入一个变量当中(num)
//2、计算出这三位数的百位数,除以100取整
//3、激素阿女户这三位数的十位数,除以10与这个并对10取余数
//4、计算个位,对10取余数
//5、判断这个数书否等于(各个位数的立方和)如果是,
//将"这个数是水仙花数"赋值给res如果不是,将"这个数不是水仙花数"赋值给res
//6、打印结果
var num =Number(prompt("请输入一个三位数"));
var a = Math.floor(num/100);
var b=Math.floor(num/10)%10;
var c=num%10;
if(num==a*a*a+b*b*b+c*c*c)
{
alert("这个数就是水仙数")
}else{
alert("这个数不是水仙数")
}
的士计费器(3公里以内固定收7元,超出的部分每公里2元)。用户输入公里数,计算要付的费用。
//1 接收公里数,disance
// 2 定义起步价格price=7
//3 定义超过3公里的价格price2=2
//4 判断distance是否超过
否:费用(money)
是:(distance-3)*price2+7(money)
// 5 得出费用
var distance=Number(prompt("输入行驶的路程"));
var price=7;
var price2=2;
var money=0;
if(distance<=3){
money=7
alert(money)
}else{
var = Math.ceil(distance-3)*price2+7;
alert(money)
}