2020.03.09--03.20日JS学习分享

Posted hyt970328

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020.03.09--03.20日JS学习分享相关的知识,希望对你有一定的参考价值。

一、JS的三大组成部分

  ESMAScript :语法部分

  Bom :浏览器对象模型,一套操作浏览器属性和方法

  Dom :文档对象模型,一套操作浏览器页面元素的属性和方法

二、ESMAScript - JS的数据类型转换 

  1、其他数据类型转数值类型

   Number()---- 把需转换的变量当作一个整体
     语法:Number(需转换的变量)
     返回值:如果可以转成合法数字,那就是数字;如果是非合法数字,返回值则为NaN

     parseInt()
      语法:parseInt(需转换的变量)----把需转换的变量一个一个解析
      返回值:如果第一位不能转成合法数字,则直接返回NaN;如果第一位可以转成合法数字,第二位不能,则截止至第二位,保留第一位
      注:不认识小数点,解析到小数点时也会截止

   parseFloat()
      语法:parseFloat(需转换的变量)
      返回值:与上述parseInt返回值解析方法一样,但不同点是parseFloat认识小数点

   非加法的数学运算
      运算方法有:减法、除法、乘法运算
      返回值:与合法的数字运算即会得到运算结果,与不合法的运算则会得到NaN
 

  2、其他数据类型转字符串类型

   String()
      语法:String(需转换的变量)
      返回值:转换好的字符串,任何数据类型都可转成字符串类型
     toString()
      语法:需转换的变量.toString()
      返回值:转换好的字符串
      注:不能转undefined和null(如果转了会报错)

  3、其他数据类型转布尔类型

     Boolean()
      语法:Boolean(需转换的变量)
      返回值:要么是true,要么是false 布尔只有这两个值
      注:在js里只有五个转换时为false,其余都为true
      转换为false的五个值:NaN、“ ”空字符串、0、undefined、null
 

三、ESMAScript - JS案例

    1、判断奇偶数 

    <script>
      var num = 13
      //% 取余运算符
      if(num % 2 === 0){
        console.log("我是偶数")
      }else{
        console.log("我是奇数")
      }
    </script>

   2、成绩分等级  

    “=”赋值运算符,把等号右边的内容赋值给等号左边

    “&&”逻辑运算符(且),当两边都为true时才返回true

 

    <script>
      var num = 79
      if(num<100 && num >= 90){
        console.log(num + "分为A")
      }else if(num < 90 && num >= 80){
        console.log(num + "分为B")
      }else if(num < 80 && num >= 70){
        console.log(num + "分为C")
      }else if(num < 70 && num >= 60){
        console.log(num + "分为D")
      }else if(num < 60){
        console.log(num + "分为D")
      }
    </script>

     3、99乘法表 (利用for循环嵌套)

    for循环语法:for(初始化;条件判断;自身改变){ 重复执行的代码 }

    <script>
      for(var i=1;i<=9;i++){
        document.write("<br>")
        for(var j=i;j<=9;j++){
          document.write("<span>"+ i + "*" + j + "=" + i * j + "</span>" )
        }
      }
    </script>

   4、找到三次自幂数(水仙花数字)  

    <script>
      for(num = 100;num<=999;num++){
        var a = parseInt(num/100)
        var b = parseInt((num-a*100)/10)
        var c = parseInt(num%10)
        var r = a*a*a + b*b*b + c*c*c
        if( r === num){
          console.log(r)
        }
      }
    </script>

   5、利用函数来判断是否为质数

    声明式函数语法:function  函数名(形参名) { 执行的代码 }

    赋值式函数:var 函数名 = function  ( 形参名 ) { 执行的代码 }

    <script>
      function num(n){
        for(var i=2;i<n;i++){
          var flag = true
          if(n % i === 0){
            flag = false
            break
          }else{
            flag = true
          }
          }
         return flag
        }
        var r2 = num (9)
        console.log(r2)
    </script>

    6、递归求阶乘 (函数自己调用自己)

    function chen(n){
      if(n===1 || n===0){
        return 1
      }
      return n*chen(n-1)
    }
    console.log(chen(4)) 

    7、求一组数中的最大数

    function max(arr){
      var num = arr[0]
      for( var i = 1;i<arr.length;i++){
        if(num<arr[i]){
          num = arr[i]
        }
      }
      return num
    }
    console.log(max([12,34,56,78,65,98]))

 

以上是关于2020.03.09--03.20日JS学习分享的主要内容,如果未能解决你的问题,请参考以下文章

2019年3月30日

携英第四期丨机器学习之密度聚类算法

学Java的经验分享 扎实的基础是进步的前提

js学习之——数据类型

vue.js 学习之模板语法详解

动手学深度学习3月20日