前端基础JS

黑马程序员笔记

  • 数字型
    • 字符串型
      • 布尔型
        • 获取变量数据类型
  • 转换
    • 运算符
      • 流程控制
        • 数组
  • 函数
    • 作用域
      • 预解析
        • 对象
          • 内置对象

数字型

八进制十六进制写法
前端基础JS_第1张图片
理解最值
前端基础JS_第2张图片
NaN
前端基础JS_第3张图片

字符串型

内双外单反之也可
转义字符
前端基础JS_第4张图片
前端基础JS_第5张图片
长度获取+拼接
前端基础JS_第6张图片
拼接加强
前端基础JS_第7张图片前端基础JS_第8张图片

布尔型

true当1false当0
前端基础JS_第9张图片
unndefined和null
前端基础JS_第10张图片

获取变量数据类型

typeof
前端基础JS_第11张图片
控制台颜色
前端基础JS_第12张图片

前端基础JS_第13张图片

转换

转字符串类型
前端基础JS_第14张图片
转换为数字型
前端基础JS_第15张图片
先学会上面的再学下面
前端基础JS_第16张图片
案例
前端基础JS_第17张图片
转换成布尔型
前端基础JS_第18张图片
简单加法器
前端基础JS_第19张图片

运算符

注意浮点数
前端基础JS_第20张图片
表达式和返回值
前端基础JS_第21张图片
递增递减
前端基础JS_第22张图片
前端基础JS_第23张图片
前端基础JS_第24张图片
比较运算符
三等是全等,数据类型也得相同,二等值相同就行
前端基础JS_第25张图片
逻辑运算符
前端基础JS_第26张图片
短路运算
前端基础JS_第27张图片
前端基础JS_第28张图片
赋值运算
前端基础JS_第29张图片
优先级
前端基础JS_第30张图片

流程控制

顺序结构
分支结构(先判断后分支)
if语句
前端基础JS_第31张图片

<script>
var age=prompt('请输入您的年龄');
if(age>=18){
  alert('可以进入');
}else{
  alert('好好学习');
}
script>

判断是否是闰年
前端基础JS_第32张图片

<script>
       var year=prompt('请输入年份');
       if(year%4==0&&year%100!=0||year%400==0){
       alert('输入的是闰年');
       }else{
       alert('输入的是平年');
       }
    script>

前端基础JS_第33张图片

<script>
       var score=prompt('请输入分数');
       if(score>=90){
       alert('A');
       }else if(score>=80){
        alert('B');
       }else if(score>=60){
        alert('C');
       }else {
       alert('D');
       }
    script>

三元表达式
前端基础JS_第34张图片
倒计时效果
前端基础JS_第35张图片

 <script>
      var time=prompt('输入0-59之间的数字');
      var result=time<10?'0'+time:time;
      alert(result);
    script>

switch语句
特定值语句
前端基础JS_第36张图片
注意事项
前端基础JS_第37张图片
区别
前端基础JS_第38张图片
循环结构
for循环
前端基础JS_第39张图片
重复相同代码
前端基础JS_第40张图片
重复不相同代码(引引加加)
前端基础JS_第41张图片
求和

var sum=0;
      for(var i=1;i<=100;i++){
      
      sum+=i;
      }
      console.log(sum);

求学生成绩案例
前端基础JS_第42张图片

 <script>
      var num=prompt('请输入班级人数:');
      var sum=0;
      var average=0;
      for(var i=1;i<=num;i++){
      var score=prompt('请输入第'+i+'个学生成绩');
      sum=sum+parseFloat(score);
      }
      average=sum/num;
      alert('班级总成绩:'+sum);
      alert('班级平均分:'+average);
    script>

一行打印五个星星
前端基础JS_第43张图片
双重for循环
前端基础JS_第44张图片
5行4列

<script>
      var str='';
      for (var i=1;i<=5;i++){
      for(var j=1;j<=4;j++){
      str=str+'*';
      }
      str=str+'\n';
      }
      console.log(str);
    script>

n行n列
外行内列
前端基础JS_第45张图片
倒三角

<script>
      var str='';
      for (var i=1;i<=5;i++){
      for(var j=i;j<=5;j++){
      str=str+'*';
      }
      str=str+'\n';
      }
      console.log(str);
    script>

九九乘法表

<script>
      var str='';
      for (var i=1;i<=9;i++){
      for(var j=1;j<=i;j++){
      str=str+'*';
      }
      str=str+'\n';
      }
      console.log(str);
    script>
<script>
      var str='';
      for (var i=1;i<=9;i++){
      for(var j=1;j<=i;j++){
      <!--      str=str+'*';-->
      str+=j+'x'+i+'='+i*j+'\t';
      }
      str=str+'\n';
      }
      console.log(str);
    script>

前端基础JS_第46张图片
while循环
前端基础JS_第47张图片
比较复杂得循环可用
前端基础JS_第48张图片

<script>
        var message=prompt('你爱我吗?');
        while (message !=='我爱你'){
        message=prompt('你爱我吗?');
        }
        alert('我也爱你呀!');
    script>

do while
前端基础JS_第49张图片
循环小结
前端基础JS_第50张图片
continue关键字
前端基础JS_第51张图片
break关键字
前端基础JS_第52张图片

数组

创建
前端基础JS_第53张图片
获取
前端基础JS_第54张图片
遍历
前端基础JS_第55张图片
数组长度arr.length
前端基础JS_第56张图片
和和平均数
在这里插入图片描述

<script>
        var arr=[2,6,1,7,4];
        var sum=0;
        var average=0;
        for (var i=0;i<arr.length;i++){
        sum+=arr[i];
        }
        average=sum/arr.length;
        console.log(sum,average);
    script>

最大值

<script>
        var arr=[2,6,1,7,4];
        var max=arr[0];
        for (var i=1;i<arr.length;i++){
        if (arr[i]>max){
        max=arr[i];
        }
        }
        console.log('最大值:'+max);
        average=sum/arr.length;
        console.log(sum,average);
    script>

数组转换为字符串
前端基础JS_第57张图片
新增元素
前端基础JS_第58张图片
依次追加元素
前端基础JS_第59张图片
筛选数组
前端基础JS_第60张图片
前端基础JS_第61张图片
案例
删除元素

<script>
       var arr=[2,1,3,5,32,44,4];
       var newArr=[];
       for (var i=0;i<arr.length;i++){
       if (arr[i]!=1){
       newArr[newArr.length]=arr[i];
       }
       }
       console.log(newArr);
    script>

翻转数组

<script>
       var arr=[2,1,3,5,32,44,4];
       var newArr=[];
       for (var i=arr.length-1;i>=0;i--){
       newArr[newArr.length]=arr[i]
       }
       console.log(newArr);
    script>

冒泡排序

 <script>
       var arr=[2,1,3,5,32,44,4];
       for (var i=0;i<=arr.length-1;i++){
       for (var j=0;j<=arr.length-i-1;j++){
       if (arr[j]>arr[j+1]){
       var temp=arr[j];
       arr[j]=arr[j+1];
       arr[j+1]=temp;
       }
       }
       }
       console.log(arr);
    script>

函数

函数使用
前端基础JS_第62张图片
求和

<script>
      function getSum(){
      var sum=0;
      for (var i=1;i<=100;i++){
      sum+=i;
      }
      console.log(sum);
      }
      //调用
      getSum();
    script>

带参数的函数
前端基础JS_第63张图片
求和
前端基础JS_第64张图片
形参和实参个数
前端基础JS_第65张图片
返回值return
前端基础JS_第66张图片
return终止函数
前端基础JS_第67张图片
无return
前端基础JS_第68张图片
arguments
前端基础JS_第69张图片
前端基础JS_第70张图片
翻转reverse
前端基础JS_第71张图片
封装冒泡排序

 <script>
    function sort(arr){
    for (var i=0;i<arr.length-1;i++){
    for (var j=0;j<arr.length-i-1;j++){
    if (arr[j]>arr[j+1]){
    var temp=arr[j];
    arr[j]=arr[j+1];
    arr[j+1]=temp;
    }
    }
    }
    return arr;
    }
    var arr1=sort([1,4,2,5,9]);
    console.log(arr1);
    script>

调用函数
前端基础JS_第72张图片
声明
前端基础JS_第73张图片

作用域

局部作用域
命名可重复
前端基础JS_第74张图片
变量的作用域
前端基础JS_第75张图片
作用域链
离得近就是输出谁
前端基础JS_第76张图片

预解析

前端基础JS_第77张图片
前端基础JS_第78张图片

对象

特征用属性表示
行为用方法来表示
创建对象
前端基础JS_第79张图片

前端基础JS_第80张图片
变量属性函数区别
前端基础JS_第81张图片
前端基础JS_第82张图片

 <script>
   var obj=new Object();
   obj.uname='张三';
   obj.age=18;
   obj.sex='男';
   obj.sayHi=function(){
   console.log('hi~');
   }
   console.log(obj.uname);
   console.log(obj['sex']);
   obj.sayHi();
    script>

构造函数创建对象
前端基础JS_第83张图片
new
前端基础JS_第84张图片遍历对象
前端基础JS_第85张图片

内置对象

查文档
MDN/W3C
前端基础JS_第86张图片
Math对象
前端基础JS_第87张图片

 <script>
     var myMath={
     PI:3.14,
     max:function(){
     var max=arguments[0];
     for(var i=1;i<arguments.length;i++){
     if(arguments[i]>max){
     max=arguments[i];
     }
     }
     return max;
     },
     min:function(){
     var min=arguments[0];
     for(var i=1;i<arguments.length;i++){
     if(arguments[i] <min){
     min=arguments[i];
     }
     }
     return min;
     }
     }
     console.log(myMath.PI);
     console.log(myMath.max(1,5,9));
     console.log(myMath.min(1,5,9));
    script>

Math绝对值和取整
前端基础JS_第88张图片
前端基础JS_第89张图片
随机数random()
4改arr.length-1
前端基础JS_第90张图片
随机猜数字

<script>
     function getRandom(min,max){
     return Math.floor(Math.random() *(max-min+1))+min;
     }
     var random=getRandom(1,10);
     while(true){
     var num=prompt('1-10你来猜');
     if(num>random){
     alert('你猜大了');
     }else if (num<random){
     alert('你猜小了');
     }else{
     alert('猜对了');
     break;
     }
     }
    script>

日期对象
前端基础JS_第91张图片
日期格式化
前端基础JS_第92张图片
前端基础JS_第93张图片
前端基础JS_第94张图片
前端基础JS_第95张图片
倒计时
前端基础JS_第96张图片

 <script>
     function countDown(time){
    var nowTime=+new Date();
    var inputTime=+new Date(time);
    var times=(inputTime-nowTime)/1000;
    var d=parseInt(times/60/60/24);
    d=d<10?'0'+d:d;
    var h=parseInt(times/60/60%24);
    h=h<10?'0'+h:h;
    var m=parseInt(times/60%60);
    m=m<10?'0'+m:m;
    var s=parseInt(times%60);
    s=s<10?'0'+s:s;
    return d+'天'+h+'时'+m+'分'+s+'秒';
     }
     console.log(countDown('2023-10-21 16:40:00'));
     var date=new Date();
     console.log(date);
    script>

数组对象
前端基础JS_第97张图片
检测
前端基础JS_第98张图片
添加删除数组

前端基础JS_第99张图片
前端基础JS_第100张图片
筛选数组
前端基础JS_第101张图片
reverse/sort排序
前端基础JS_第102张图片
获取数组索引
前端基础JS_第103张图片
数组去重unique
前端基础JS_第104张图片
转换为字符串

前端基础JS_第105张图片
字符串对象
前端基础JS_第106张图片
不可变
数值太大会变卡顿
前端基础JS_第107张图片
字符串对象
前端基础JS_第108张图片
次数
前端基础JS_第109张图片
返回值
查表前端基础JS_第110张图片
出现最多的字符和次数
前端基础JS_第111张图片

 <script>
   var str='aushuooodofodd';
   var o={};
   for (var i=0;i<str.length;i++){
   var chars=str.charAt(i);
   if (o[chars]){
   o[chars]++;
   }else{
   o[chars]=1;
   }
   }
   console.log(o);
    script>

前端基础JS_第112张图片

 <script>
   var str='aushuooodofodd';
   var o={};
   for (var i=0;i<str.length;i++){
   var chars=str.charAt(i);
   if (o[chars]){
   o[chars]++;
   }else{
   o[chars]=1;
   }
   }
   console.log(o);
   var max=0;
   var ch='';
   for(var k in o){
   if(o[k]>max){
   max=o[k];
   ch=k;
   }
   }
   console.log(max);
   console.log('最多字符是'+ch);
    script>

截取拼接字符串
前端基础JS_第113张图片
替换和转换为数组
前端基础JS_第114张图片

JS学完基础学进阶

你可能感兴趣的:(前端,前端,javascript,js)