js基本知识复习(1)

171 阅读3分钟

这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战

js书写位置

  • 行内
<input type="button" value="按钮" onclik="alert("hello js") />
  • 写在script
<head>
    <script>
        alert("hello js")
    </script>
</head>
  • 写在外部js文件中,在页面引入
<script src="main.js"></script>
  • 注意
    • script不能写成单标签
    • 加载顺序是自上而下

注释

  • 单行
    // 注释
    
  • 多行
    /*
       多行
    */
    

变量(掌握)

  • 声明
var age
  • 赋值
var age
age = 18
  • 同时声明多个
var age, name, sex
age = 10
name = 'you'
  • 定义变量
var age = 10
  • 同时定义多个变量并赋值
var age = 10, name = 'you'

数据类型

  • 五大基本数据类型
    • Number: 数值类型
    • String: 字符类型
    • Bollean: 布尔类型
    • Undefined: 未定义类型
    • Null: 空类型
  • 获取变量类型(掌握)
    typeof
        1. typeof 变量名
        2. typeof (变量名)
    
    // typeof 变量名/值
    console.log(typeof 123);//number
    console.log(typeof '123');//string
    console.log(typeof true);//boolean
    console.log(typeof undefined);//undefined
    console.log(typeof null);//object,对象Number类型也叫 数值类型 。
    

运算符

  • 算数运算符
    //+ - * / %(取余) 3%2=1 
    var x = 10;
    var y = 5;
    console.log(x + y);//15
    console.log(x - y);//5
    console.log(x * y);//50
    console.log(x / y);//2
    console.log(10 % 3);//1
    
  • 一元运算符
    /前置++
    var num1 = 8;
    ++num1;//自身加1
    console.log(num1);
    
    //后置++
    var num1 = 5;
    num1++;//自身加1
    console.log(num1);
    
  • 总结
    • 前置++:先加1,后参与运算
    • 后置++:先参与运算,后加1
    • 上面两个理解后,下面两个自通
    • 前置-- :先减1,后参与运算
    • 后置-- :先参与运算,后减1

数据类型转换

  • 转换成数值类型
    //使用parseInt() (掌握)
    //函数如果第一个字符是数字或运算符号,那么就开始解析,直到遇到非数字字符,停止解析并得到解析结果
    console.log(parseInt("10"));//10
    console.log(parseInt("10abcdefg"));//10
    console.log(parseInt("g10"));//NaN
    console.log(parseInt("1fds0"));//1
    console.log(parseInt("10.98"));//10
    console.log(parseInt("10.98abcdefg"));//10
    
    // parseFloat()函数 (掌握)  
    // 把其他类型转换成浮点数
    console.log(parseFloat("10"));//10
    console.log(parseFloat("10abcdefg"));//10
    console.log(parseFloat("g10"));//NaN
    console.log(parseFloat("1fds0"));//1
    console.log(parseFloat("10.98.98"));//10.98
    console.log(parseFloat("10.98abcdefg"));//10.98
    
    //Number()函数 (仅做了解)
    // 可以把任意值转换成数值类型,如果要转换的字符串中有一个不是数值的字符,转换结果为 NaN
    console.log(Number("10"));//10
    console.log(Number("10abcdefg"));//NaN
    console.log(Number("g10"));//NaN
    console.log(Number("1fds0"));//NaN
    console.log(Number("10.98"));//10.98
    console.log(Number("10.98abcdefg"));//NaN
    
    //+,-0 运算(仅做了解)
    var strNum = '18';
    console.log(+strNum);		// 18 取正
    console.log(-strNum);		// -18 取负
    console.log(strNum - 0);     // 18 strNum先被转换成数值类型,再做减法运算
    console.log(strNum + 0);     // 180 先被转换成字符串类型,再做拼接
    
注意
  加号和减号放在变量前,分别是取正、取负的效果;
  变量减去0,默认先将变量转换成数值类型,再做减法运算,变量减去0;
  • 转换成字符串类型

    • toString() (掌握)
    • Stirng() (了解) 注意 toString()方法只能将数值类型和布尔类型转换成字符串类型,不能将Undefined和Null类型转成字符串类型 String()函数能将所有基本类型转成字符串类型
  • 转换成布尔类型

    • 抓换成false的五种特殊值
      "" (空白字符串)
      0 (保存0  -0undefined
      null
      NaN
      
    • 其他的为true
  • 运算符

    • 运算符的优先级
    优先级从高到底
    1. ()  优先级最高
    2. 一元运算符  ++   --   !
    3. 算术运算符  先*  /  %   后 +   -
    4. 关系运算符(比较大小)  >   >=   <   <=
    5. 相等运算符(比较相等)   ==   !=    ===    !==
    6. 逻辑运算符  先&&   后||
    7. 赋值运算符  =  +=  -=  *=  /=  %= 
    
    • 三元运算符
        例:
    var age = 18
    var result = age >= 18 ? "成年了" : "未成年"
    console.log(result)
    
        例:两个值找最大
    var num1 = 8
    var num2 = 2
    var max = num1 > num2 ? num1 : num2
    console.log(max)
    
  • 数组

    • 遍历数组
    for(var i = 0; i < arr.length;i++){
        
    }
    
    • 数组练习
    //例1:求数组中所有元素的和
      var arr1 = [10,20,30,40,50];
      var sum = 0;
      for(var i = 0; i < arr1.length; i++){
           sum += arr1[i];
      }
      console.log(sum);//150
    
    //例2:求数组中所有元素的平均值
      var arr2 = [1,2,3,4,5];
      var sum2 = 0;
      for(var i = 0; i < arr2.length; i++){
           sum2 += arr2[i];
      }
      console.log(sum2 / arr2.length);//3