1程序设计基础
Javascrpt是一种脚本语言,所有的计算机高级语言分为两种,编译型语言和解释型语言。
常见的高级语言有:C、C++、java、python、vb、R、易语言、go、C#、php等。
计算机认识的语言只有机械语言(二进制),所有要将高级语言转化成机械语言,转化的形式分为两种,解释型和编译型。
解释性:程序一行一行的去执行,一直执行到有错误的一行。
编译型:将所有的程序转化成机械语言,如果有错误,则不会执行程序。
为什么会用计算机?
方便,它能帮助我们解决实际问题。
为什么能帮助我们解决问题?
计算机的语言,能和生活中的自然语言产生映射,说白了就是他能将实际问题转化为计算机程序,从而帮助我们快速的解决问题。帮助我们去处理生活中的数据。
数据有几个属性:分别为名称、值和类型。
分为三种常用的类型:分别为数值、字符串、布尔类型
<script>
alert("what");//警告提示框
alert(typeof(six));
</script>
alert()是js本身提供的一个方法,叫做警告提示框,传递参数就是要提示的内容。
typeof是值的类型。
在js里面,数字只有数值型没有整型和浮点型。
变量
为什么要有变量,这是因为我们生活中的数据并不是一成不变的。计算机中要有和自然生活中产生映射,所以有了变量。
用var去声明一个变量,variable
一个有他的名字、值、类型。
命名的要求
规则:用字母开头或者$和_(一般不用),然后由字符组成。为什么高级语言都不能用数字开头,这是因为16进制数值是用0x表示,如果变量名是以数字开头不能区分两者;不能用关键字。
原则:见名思义,一般不用拼音
var name="徐志摩";
var age=333;
var alone=true;
alert(name);
alert(typeof(name));
在js当中,系统会根据变量的值自动去分配变量的类型。
变量的本质是:内存单元。声明一个变量就是在内存当中分配一个空间用来存储这个变量。
常量
不变的量,生活中也有不变的数比如pi圆周率,一直都是3.1415926…
注释
什么事注释:解释说明。
方便别人来阅读我的代码,可读性强。
在js里面如何注释:
//行注释快捷键:ctrl+/
/*
块注释 快捷键:ctrl+shift+/
对象类型
对象由什么组成:属性和方法。
狗:名字、毛发的颜色、狗龄、大小、他会叫、会跑…
属性:静态的属性:在代码当中就是一个变量。
方法:动态的行为:在代码当中就是一个函数或者方法。
汽车:颜色、品牌、材料、外观、他会跑、会响。
var dog={
name:"大黄",
age:3,
color:"yellow",
size:"big"
};//实例化对象方法1
var car=new Object();//实例化对象方法2
alert(dog.name);
alert(dog.age);
alert(dog.color);
定义对象有两种方法:第一种就是直接有花括号括起来,第二种就是new一个Object。
调用对象里面的属性,直接用对象名+.来调用。
给对象添加一个新的属性:用.一个新的名字。
dog.catecory="金毛";
alert(dog.catecory);
赋值运算符
=就是赋值运算符。
+= -= *= /= 复合赋值运算符
num+=1;
num=num+1;
唯一的区别就是多了一个num
var weight=120;
weight=weight+20;
关系运算符
生活中的常见的关系有:大于,小于,等于,不等于,大于等于,小于等于(> < == != >= <=)。
==表示等于,用于判断两个值是否相等,如果是一个常量和一个变量做比较,把常量写在前面,把变量写在后面,这样可以避免少写一个=的错误。
var num=1;
alert(1=num);
因为开发工具会提示,常量不能被赋值的错误。
绝对等于和绝对不等于
===既去比较数据的值也比较数据的类型,而==只比较数据的值。
!==也去比较数据的值和类型,而!=只比较值。
var num=1;
var str="1";
alert(str==num);//true
alert(str===num);//false
逻辑运算符
与或非
&& || !
逻辑运算符一般用于连接多个关系。并得到最终的值是真是假。
与关系,所有的都为真结果才为真。
或关系,至少有一个为真结果也为真。
非关系,真为假,假为真。
与关系的执行顺序,从头开始一直到有一个不成立就停止。
或关系会从头到尾去执行。去百度查一下,然后写一个博客。
算术运算符
+ - * / %
在使用的过程中和生活中的一样,只有这个+号有区别。
如果是两个数使用+就是加法
如果是字符串使用+就是拼接
var str="1";
var str2="2";
alert(str+str2);
所以我们进行算术运算时必须要确定变量的类型。如果是字符串就要转化成数值才能进行算术运算。
var num1=Number(prompt("请输入一个数"));//Number强制转换
var num2=Number(prompt("请输入第二个数"));
alert(num1+num2);
%得到两个数的余数
1. 通过取余运算,你可获得任何任何一个数个位上的数。
2. 解决周期性问题
var date=Number(prompt("请输入今天是星期几"));
date=(date+12)%7;
alert(date);
位运算符
用于二进制,与 或 异或
5:101
6.110
&用来表示与运算,11的结果为1其余全为0
|或许算,00的结果为0,其余全为1
^异或运算,相同的结果为0,不同的结果为1,比如10的结果为1,11的结果为0
用来区分权限身份
一个系统总共有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));
alert(num1.toString(2)^num2.toString(2));
alert(num1.toString(2)&num2.toString(2));
程序设计思维
用户输入任意一个三位数,获得这三个数各个位数的加和并打印。
1. 接受用户输入的数并把他存入一个变量当中(num)
2. 计算出这个三位数的百位数,除以100取整
3. 计算出这个三位数的十位数,除以10取整再对10取余数
4. 计算个位数,对10取余数
5. 将个位十位百位加和并赋值给num1
6. 打印结果
var num=(prompt("输入任意一个三位数"))
var a=Math.floor(num/100);//取整
var b=Math.floor(num/10)%10;
var c=num%10;
var num1=a+b+c;
alert(num1);
什么叫程序?
生活当中有许多程序:比如
食堂打饭:1.扫码付钱
2.选择要打的菜
加 米饭
吃饭
将垃圾放到回收站
什么是编程:
编程就是根据业务的需要,制定做这个事情的流程。用计算机语言去翻译这个流程。
对我们的要求
1.熟悉业务,能够将业务抽象为流程。
2.熟悉计算机语言。
程序设计思维很重要,这个也叫程序设计的能力,和哪种计算机语言没有关系,比如java php js,他们的思维都一样,学会站在计算机的角度去分析问题
根据三角形的三边去计算三角形的面积(海伦公式:三角形的面积等于三角形的半周长p(半周长)S=Math.sqrt(p*(p-a)*(p-b)*(p-c))
var a=Number(prompt("请输入数字"));//接受用户输入的第一个边长a
var b=Number(prompt("请输入数字"));//接受用户输入的第二个边长b
var c=Number(prompt("请输入数字"));//接受用户输入的第三个边长c
if(a+b>c&&a+c>b&&b+c>a){
var p=(a+b+c)/2;//计算三角形的半周长并赋值给p
var S=Math.sqrt(p*(p-a)*(p-b)*(p-c));//计算三角形的面积
alert("该三角形的面积为"+S);//打印三角形面积
}else{
alert("对不起,您输入的三个边长不能构成三角形");
}
话费计时器。1.2/分钟,要求输入时间数打印要付的钱。
var time=Number(prompt("通话时间(秒):"));//输入通话时间(s)
var price=1.2;
var money=Math.ceil(time/60)*price;//运用向上取整函数计算通话费用
alert("本次通话费用为:"+money.toFixed(2));//打印通话费用并保留两位小数