zoukankan      html  css  js  c++  java
  • JS学习笔记

    JS是脚本语言,是一种轻量级的编程语言,可以插入HTML页面的编程代码,插入HTML页面之后,可由现在所有的浏览器执行。

    JS的引入方式

      script标签内写代码,这是最常见的方式,但是在生产中一般用引入额外的JS文件,这样会使得代码清晰,容易阅读。

    JS的变量声明

      1.JS的变量名可以使用_,数字,字母,$组成,不能以数字开头

      2.声明变量使用var 变量名的格式,但是在ES6中用let来声明变量,用法和var类似,但是所声明的变量只在let命令所在的代码块内有效,比如说for循环中就使用,es6新增了const来声明常量,一旦声明,就不能改变值

    JS的数据类型

      js有动态类型:

    var x  // 这里的x是undefined 
    var x = 1  // 这里X是数字
    var x = "alex" //这里x是字符串

    1. 数值类型----Number

      js不区分整型和浮点型,只有一种数字类型

    // 下面都是数字类型    
    var a = 12.34;
    var b = 20;
    var c = 123e5;  // 12300000
    var d = 123e-5;  // 0.00123

    ps:NaN表示不是一个数字(Not a Number)

    //NaN表示不是一个数字,但是NaN的类型是Number类型
    
    parseInt("123")  // 返回123
    parseInt("ABC")  // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
    parseFloat("123.456")  // 返回123.456

    2。字符串类型String

      字符串类型可以进行拼接,和python中一样,使用“+”,在es6中,引入了模板字符串,是增强版的字符串,和python中字符串的格式化一样,用反引号标识`内容`:

    // 普通字符串
    `这是普通字符串!`
    // 多行文本
    `这是多行的
    文本`
    // 字符串中嵌入变量
    var name = "abc", time = "today";
    `Hello ${name}, how are you ${time}?`
    模板字符串的举例

    注意:如果模板字符串中需要使用反引号,则在前面要用反斜杠转义

    3.布尔值(Boolean)

      区别于python,true和false都是小写,""(空字符串)、0、null、undefined、NaN都是false。

    4.null和undefined

      null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;

      undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。

      null表示变量的值是空,undefined则表示只声明了变量,但还没有赋值。

    5.对象(Object)

      在js中,所有事物都是对象,另外js允许自定义对象,js提供多个内建对象,比如String,Date,Array,对象是电邮属性和方法的特殊数据类型

    6.数组

      和列表类似,用单独的变量名来存储一系列的值。

    函数函数函数+++++++++++++++  

      在js中函数的定义用function用function,举例:

    function func(){
         console.log("hi");  //要有分号;      
    }
    function func2(a,b){ // 参数
         console.log(a,b)    
    }
    //函数的调用就是函数名+()

    匿名函数:

      

    var sum= function(a,b){
              return a+b;
    }
    // 匿名函数是var一个变量名 + function(){}

    立即执行函数:

    function(a,b){
          return a+b;
    })(1,2);
    //函数体内用括号写入,然后直接调用,就是立即执行函数

    箭头函数:

      =>

      es6中允许使用箭头函数,用箭头来定义函数

     

    var f = v => v;
    // 等同于
    var f = function(v){
     return v;
    }
    
    // 如果箭头函数不需要参数或需要多个参数,就是用圆括号代表参数部分:
    
    var f = () => 5;
    // 等同于
    var f = function(){return 5};
    
    var sum = (num1, num2) => num1 + num2;
    // 等同于
    var sum = function(num1, num2){
      return num1 + num2;
    }

    函数中的arguments 

    其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。arguments对象和Function是分不开的。因为arguments这个对象不能显式创建,arguments对象只有函数开始时才可用。

    局部变量

    在JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它(该变量的作用域是函数内部)。只要函数运行完毕,本地变量就会被删除。

    全局变量:

    在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

    变量生存周期:

    JavaScript变量的生命期从它们被声明的时间开始。

    局部变量会在函数运行以后被删除。

    全局变量会在页面关闭后被删除。

    作用域

    首先在函数内部查找变量,找不到则到外层函数查找,逐步找到最外层。

    闭包

      闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。这是优点也是缺点,不必要的闭包只会徒增内存消耗!另外使用闭包也要注意变量的值是否符合你的要求,因为他就像一个静态私有变量一样

  • 相关阅读:
    ajax基本使用
    ajax
    七个你无法忽视的Git使用技巧
    Git原始笔记
    php session自定义处理
    linux下用phpize给PHP动态添加扩展
    【转】做到这一点,你也可以成为优秀的程序员
    PHP扩展开发-测验成功
    PHP扩展开发--实验成功
    php类似shell脚本的用法
  • 原文地址:https://www.cnblogs.com/juteng/p/9266422.html
Copyright © 2011-2022 走看看