JS语法学习笔记-菜鸟教程

时间:2021-12-22 12:58:44
  • 现在只需要<script></script>标签
  • javascript通常做法是放在<head>部分中,或者放在页面底部,这样可以把他们安置在同一位置,不会干扰页面内容。
  • JavaScript 使用 Unicode 字符集。
  • 重新声明变量后,变量中的值不会发生丢失。
  • Undefined这个值表示变量不含有值,Null可以用来清空变量。
  • 访问对象属性的两种方式  person.lastName ,person['lastName']
  • === 为绝对相等,即数据类型与值都必须相等。
  • var x = "John";
    var y = new String("John");
    typeof x // 返回 String
    typeof y // 返回 Object 不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:
  • x=5+5;       //
    y="5"+5; //
    z="Hello"+5; //hello5
  • 条件运算符  
    variablename=(condition)?value1:value2 
  • For/In循环   循环遍历对象的属性
    var person={fname:"John",lname:"Doe",age:25}; 
    
    for (x in person)  // x 为属性名
    {
    txt=txt + person[x];
    }
  • 在JavaScript中,数组是一种特殊的对象类型。 因此 typeof [1,2,3,4] 返回 object。
  • var person = null;           // 值为 null(空), 但类型为对象
    var person = undefined; // 值为 undefined, 类型为 undefined
  • 将数字转换为字符串   x.toString();
  • toExponential() 把对象的值转换为指数计数法。
      toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。
    toPrecision() 把数字格式化为指定的长度。
  • 将字符串转换为数字  Number("3.04")
  • 正则表达式
    //search方法
    var str = "Visit Runoob!";
    var n = str.search(/Runoob/i); //replace方法
    var str = document.getElementById("demo").innerHTML;
    var txt = str.replace("Microsoft","Runoob");
    //将前一个替换为后一个 //test方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
    var patt = /e/;
    patt.test("The best things in life are free!");
  • 变量提升
  • 严格模式   "use strict"
  • switch语句使用恒等计算符(===)进行比较
  • var x = 10;
    var y = "5";
    var z = x + y; // z 的结果为 "105"
  • 字符串换行需要所使用反斜杠
    var x = "Hello \
    World!";
  • JavaScript 不支持使用名字来索引数组,只允许使用数字索引。
  • let 声明的变量只在 let 命令所在的代码块内有效。  const 声明一个只读的常量,一旦声明,常量的值就不能改变。

  • 使用 JavaScript 内置函数 JSON.parse() 将字符串转换为 JavaScript 对象:
    var obj = JSON.parse(text);

JavaScript命名规范:

变量名推荐使用驼峰法来命名(camelCase):
通常运算符 ( = + - * / ) 前后需要添加空格:
一条语句通常以分号作为结束符。
全局变量为大写 (UPPERCASE )
建议统一使用小写的文件名。
  • javascript函数有个内置的对象arguments对象,该对象包含了函数调用的参数数组。
  • 闭包能够延长局部变量的寿命,同时还能起到惰性求值的作用。
  • 在用户点击 按钮时触发监听事件
    document.getElementById("myBtn").addEventListener("click", displayDate);
  • removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄:
element.removeEventListener("mousemove", myFunction);
  • Javascript prototype (原型对象)
  • 如果前缀为0,解析为八进制数,如果前缀为0x 则解释为十六进制。
  • javascript计时器事件    setInterval 间隔指定的毫秒数不停地执行指定的代码      setTimeout()   在指定的毫秒数后执行指定代码
    <p id="demo"></p>
    <button onclick="myStopFunction()">停止</button>
    <script>
    var myVar=setInterval(function(){myTimer()},1000);
    function myTimer(){
    var d=new Date();
    var t=d.toLocaleTimeString();
    document.getElementById("demo").innerHTML=t;
    }
    function myStopFunction(){
    clearInterval(myVar);
    }
    </script>