javascript的发展历程说来话长,只需要知道javascript是1995年网景公司雇佣布兰登开发的全新语言即可。其它知识可作为了解啦!
javascript的应用:浏览器客户端开发(前端开发),服务端开发,桌面应用开发
javascript的注释:
//我是单行注释
/*我是
多行
注释
*/
数据类型分为 基础 / 复杂 / 判断 / 数据类型
基础: 数值类型 (一切数值,包括进制,NaN)
字符串(被单 / 双引号引起来)
布尔(true / false )
null ( 只有一个,就是null,表示空)
undefined(underfined类型,表示没有值的意思)
复杂:对象类型,函数类型
判断 : type of , isNaN
数据类型转换:数据类型之间的转换,比如数字转成字符串,字符串转成布尔,布尔转成数字等。
Number(变量) 1.把变量强转为数值类型 2.转小数时会保留小数 3.可以转换布尔值
4.遇到不可能转换的都会返回NaNPPp
Number(true)=1 Number(false)=0 Number(null=0 Number(undefined)=1
parseInt(变量) 1从第一位开始,是数字就转换,直到一个不是数字的内容 2开头不是数字,那么直接返回NaN 3不认识小数点,只能保留整数
parseFloat(变量) 1从第一位开始,是数字就转换,直到一个不是数字的内容 2开头不是数字,那么直接返回NaN 3认识小数点,能保留小数
其他数据类型转成字符串:
其他数据类型转成布尔:
运算符:
逻辑分支语句:
- 我们的 js 代码都是顺序执行的(从上到下)
- 逻辑分支就是根据我们设定好的条件来决定要不要执行某些代码
if 语句:if(条件){要执行的代码}
通过()里面的条件是否成立来决定{}里面的代码是否执行。
if else语句()
if(条件)
{条件为true的时候执行}
else
{条件false的时候执行}
if else if ... 语句:
if(条件1)
{条件1为true的时候执行}
else if(条件2)
{条件2true的时候自毁执行}
if else if ... else语句:
和之间的if else if...基本一致,只不过是在所有条件都不满足的时候,执行最后else后面的{}
switch case语句:
wsitch(要判断的变量){
case 情况1:
情况1要执行的代码
break
case 情况2:
情况1要执行的代码
break
case 情况3:
情况1要执行的代码
break
default:
上述情况都不满足的时候执行的代码
}
三元运算:
循环结构:
while(条件){
//循环体
}
注意:此语句是先判断条件,再确定是否执行语句或程序块。
条件为true时,执行循环体的语句或程序块。反之不执行循环体。
在循环体中要有改变条件的语句,否则会成为死循环。
do{
//循环体;
}while(条件)
注意:
此语句是先执行一次循环体,再判断条件。
条件为true时,再次执行循环体的语句或程序块。
在循环体中要有改变条件的语句,否则会成为死循环。
do-while循环体即是至少都要执行一次的。
for( 初始化,条件判断,自身改变){
要执行的代码
}
双重for循环:
for循环可以重复执行一个操作,当然也可以重复执行另一个循环,即for循环里面嵌套for循环,即双重for循环
循环的嵌套: 外层循环循环一次,内层就要循环完
累加算法:
函数:将任意代码封装到一起,需要用的时候进行调用执行
// 函数定义
function 函数名(){
函数体 //封装的代码
}
//函数调用语句:
函数名()
函数参数:
传参过程:
参数个数:
参数默认值:
函数类型:
函数优点:
1. 封装代码,使代码更加简洁
2. 复用,在重复功能的时候直接调用就好
3. 代码执行时机,随时可以在我们想要执行的时候执行
变量作用域---全局作用域
变量作用域---局部作用域
递归函数:
1.函数定义好之后,不能自已执行,需要使用函数调用语句调用才会执行,
函数调用语句一般写在函数体外面,但如果将函数调用语句写在函数体中,
也就是在一个函数内部,调用自己,这种函数称为递归函数
2.上面递归函数 一旦执行,会循环往复,没有止尽。
需要给递归函数设置递归结束条件。 不然就是一个没有尽头的递归函数,我们叫做 死递归
对象:
现实生活
对象
=> 具体一个事物
张三 李四
x100手机 pm001手机
区别:
行为 特征
软件世界
对象
特征: 属性
行为: 方法
简单对象创建方式 两种:
数组:数组是一系列有序数据的集合
[1, 2, 3, 'hello', true, false]
数组数据类型:
如例题:
<script>
// 创建一个学生成绩数组,存储所有学生的数学成绩,分别是89,78,90,99,67,59
var scoreArr = [89, 78, 90, 99, 67, 59]
//求所有学生的最高分并输出在界面
//假设第一数为最高分
var max = scoreArr[0]
//依次与后面的分数相比,如果大于max,就赋值给max
for (var i = 1; i < scoreArr.length; i++) {
if (scoreArr[i] > max) {
max = scoreArr[i]
}
}
console.log('最大值',max)
// if(scoreArr[1]>max){
// max=scoreArr[1]
// }
// if(scoreArr[2]>max){
// max=scoreArr[2]
// }
// if(scoreArr[3]>max){
// max=scoreArr[3]
// }
// if(scoreArr[4]>max){
// max=scoreArr[4]
// }
// if(scoreArr[5]>max){
// max=scoreArr[5]
// }
// console.log('最大值',max)
//4.求不及格的学生有几个,打印到界面
// 分析:遍历学生成绩数组,与60比较,小于则不及格,计数器加一
var count=0
for(var i=0;i<scoreArr.length;i++){
if(scoreArr[i]<60){
count++
}
}
console.log('不及格人数',count)
</script>