一只迎风乱飞的前端菜鸟

第四周 JS 学习笔记

2020-02-27  本文已影响0人  丸子小姐__不懂爱

这周老师带我们开始了js的学习之路,挺难的,码了不少代码哈......

一、在HTML中使用js

<body>
<script>
  // 内联脚本方式
  function sayHi () {
      console.log('Hi!')
  }
  sayHi()
</script>
</body>
<script src="example.js" async defer></script>
async 表示立即下载当前链接文件,但不会影响页面的其它操作
defer 表示延迟脚本的加载,等待整个页面都被解析完毕后再加载

二、基本概念

1). 数据类型

  var o = new Object();
    // Object 的实例都包括以下属性和方法
    /**
     * constructor 保存着创建当前对象的函数
     * hasOwnProperty(propertyName) 检查属性是否在当前对象的实例中
     * isPrototypeOf(Object) 检查传入的对象是否是当前对象的原型
     * propertyIsEnumerable(propertyName) 检查属性是否可枚举
     * toLocaleString()  返回对象的字符串表示
     * toString() 返回对象的字符串表示
     * valueOf() 返回对象的字符串、数值或布尔值表示
     */

2). 操作符

  1. 前置递增递减 ++a, --a
  2. 后置递增递减 a++, a--
  1. 逻辑非 !0
  2. 逻辑与 true && ‘hello’
  3. 逻辑或 true || ‘hello’
  1. 20*5 乘
  2. 28%6 取余
  3. 20/5 除
  4. 注意 0/0 为 NaN ,100/0 为Infinity
  1. 22+9 加
  2. 22-9 减
  3. 当运算式中,只要有一个运算子为字符串时则为拼接,特例 true + 123 为 124需要注意 , null则不计入, undefined 则为NaN
  1. < , > , <= , >=
  2. 字符串比较的是字符编码 ‘hello’ > 'world'
  1. == , != 会强制转换,比较的是值
  2. === ,!== 不会转换,比较的是值和类型
var  res = true ? 'yes' : ‘No’;

3). 流程语句

  var i = 20;
  if(i < 10){
      console.log('i小于10')
  }else if(i > 30){
      console.log('i大于30')
  }else {
      console.log('i在10和30之间')
  }
 var a = 0;
  do {
      a++;
  }while ( a < 20)
 var b = 2;
  while( b<10){
      b += 2;
      console.log(b)
  }
 for(var i=0; i<6; i++){
      console.log('当前的i值是:' + i)
  }
  for(var propName in window){
      document.writeln(propName)
  }
 start: for(var p=0; p<10; p++) {
      if(p > 6){
          console.log(p)  // 7
          break start;
      }
  }
 for (var k=0; k<=10; k++){
      if(k == 5){
          continue;
      }
      console.log(k)
  }

  var g = 12;
  switch (true) {
      case g > 5:
          console.log('g的值大于5')
          break;
      case g > 10:
          console.log('g的值大于10')
          break;
      default:
          console.log('啥也不是')
  }

4). 函数

  1. 声明式
 function sayHi(name, msg) {
      console.log(name + '说' + msg)
  }
  1. 表达式
var sayHi = function (name, msg) {
      console.log(name + '说' + msg)
  }
  1. 使用 函数名+()
sayHi('约翰', '他一整天没吃饭了')
  1. 使用return 返回值
function sum(num1, num2) {
      return num1 + num2;
  }
  1. 获取传入的实参
  function doAdd(num1, num2){
    if(arguments.length === 1){
        console.log(num1 + 12)
    }else {
        console.log(arguments[0] +  arguments[1])
    }
  }

函数没有重载功能 ,定义同名的函数, 后面的函数会覆盖前面的函数

上一篇 下一篇

猜你喜欢

热点阅读