zoukankan      html  css  js  c++  java
  • JavaScript基础总结

     JavaScript高级的学习在于对象的学习,而这些的基础就是JavaScript基础了,所以在学习高级之前先将JavaScript基础部分复习一下吧.

    第一部分:变量

    变量是贯穿了JavaScript学习和应用的每个方面,在变量部分我们需要掌握以下几个方面:


    1 变量作用域

    变量的作用域分为两个:全局作用域和局部作用域

    全局作用域:指script标签下的全局范围内.

    全局变量:指在script标签根节点声明的变量为全局变量,或者window.变量的方式获取的变量也为全局变量,或者函数中未被声明的变量会进行隐式声明成全局变量.

    局部作用域:指函数内部范围.

    局部变量:指在函数内部声明的变量.


    2 变量的声明提前


    在html页面加载html代码时,会先将变量的声明提升至变量对应作用域的最前面.


    也就是说如果在变量声明赋值之前调用变量的话,只能获取到变量但是无法获取到变量的赋值,返回的undefined.


    3 变量的调用


    变量的调用需要注意两点:


    1. 局部作用域调用变量时,先查找是否存在对应变量名的局部变量,如果没有就去全局中找对应变量名的全局变量.


    2. 函数中发生隐式声明的全局变量,需要先调用函数后才能在全局作用域中读取到该变量.


    第二部分:数据类型


    JavaScript中注意的数据类型分为基本类型和复杂类型,每个包含和注意的部分有许多,其中我们需要注意的有:


    1 数据类型分类


    基本类型:数组,字符串,布尔,null,undefined.


    复杂类型:对象类型(键值对的集合):window,document,数组,正则,函数等


    2 检测数据类型


    我们可以使用typeof检测不同类型的数据,但是其中有几个是特殊的.


    null检测到数据类型是"object",function检测到数据类型是"function".


    其他的对象的数据类型都是"object",还有基本数据检测到的是对应的数据类型.


    3 数据类型转换


    类型转换中最主要的是数字和字符串的相互转换.


    数字转字符串:toString(),+"",String().


    字符串转数字:Number(),perseInt(),parseFloat().


    4 值类型和引用类型的传递


    值类型就是基本数据类型,引用类型就是复杂数据类型,两者的值传递是不同的.


    值类型的传递:发生传递时是将一个变量中的值复制一份给另一个变量.


    引用类型的传递:发生传递时是将指向对象的地址引用给另一个变量.


    第三部分:运算符


    运算符类型很多,我们不止需要知道有哪些运算符,还需要知道每个运算符对应的功能是哪些.


    1 算术运算符:+,-,*,/,%,++,--


    注意:++a:先自加后参与运算


      a++:先将原值参与运算,后自加

    2 赋值运算符:=,+=,-=....


    3 比较运算符


    == 会进行隐式数据类型的转换,再判断值,并不考虑数据类型


    === 不会进行隐式数据类型的转换,先判断数据类型后再判断值


    4 逻辑运算符


    &&:如果左边的值为真值的话,直接返回右边的值;如果左边的值为假值的话,直接返回左边的值.


    ||:如果左边的值为真值的话,直接返回左边的值;如果左边的值为假值的话,直接返回右边的值.


    注意:

    转换为布尔为假的值有:0,false,null,undefined,NaN,""


    5 三元运算符


    判断语句?成立时输出的值:不成立时输出的值;


    第四部分:语句


    语句主要包含以下几个:


    选择语句:if,if..else,if..elseif..else,switch(){case}


    循环语句:while,do..while,for,for..in


    语句的使用需要根据实际情况而定,在功能满足的情况下,视具体情况将语句进行简化.


    第五部分:函数


    函数的使用主要是函数的参数,返回值,和函数的声明


    1 函数的参数


    函数的参数分为形参和实参:


    形参:指的是函数声明时定义的函数内部需要用到的参数.


    实参:指的是函数调用时传递给函数的参数.


    2 返回值


    返回值的存在与否决定于return


    如果函数内没有return护足return后没有需要返回的值,则我们获取到的返回值为undefined.如果return后有值,则获取到的返回值就是这个值.


    注意:return后除了声明的语句以外都不在执行,原因是声明语句会被提升至作业域的最前面


    3 函数声明提升


    函数声明也会像变量声明一样被提升至作用域的最前面,但是如果函数声明和变量声明同时被提升时,会先提升变量声明后提升函数声明.

  • 相关阅读:
    PAT Advanced 1067 Sort with Swap(0, i) (25分)
    PAT Advanced 1048 Find Coins (25分)
    PAT Advanced 1060 Are They Equal (25分)
    PAT Advanced 1088 Rational Arithmetic (20分)
    PAT Advanced 1032 Sharing (25分)
    Linux的at命令
    Sublime Text3使用指南
    IntelliJ IDEA创建第一个Groovy工程
    Sublime Text3 安装ftp插件
    Sublime Text3配置Groovy运行环境
  • 原文地址:https://www.cnblogs.com/chendu/p/5894402.html
Copyright © 2011-2022 走看看