Python学习——JS基本语法(一)

在web项目开发的过程中,前端尤为重要的一门语言就是js,虽然作为后端人员js对于我们来说不是特别重要,但是还是有必要会写的。闲话少说,下面进入正题。那么什么是js呢?它有什么作用呢?它是怎么用的呢?不要捉急,下面我们就来浅谈一下js。
js是JavaScript的简写,虽然它有一个java,但是它跟java一毛钱关系都没有,它和java的关系就像雷锋和雷峰塔之间的关系,是不是听上去很不可思议(刚开始学的时候我一直以为js是java的一个库,想想都很扯淡)。它的名字的由来:NetSpace=>LiveScript,后来与Sun公司有合作,借助java做推广,将名字改为JavaScript。它是客户端(浏览器)的脚本语言,服务器端的脚本叫Node.js,还有vue.js……等等。我们可以用它给静态页面添加动态属性,如:修改样式,添加事件。
js引入方式

  • 方式1:通过页面任意位置的script标签,标签中就可以书写js代码

  • 方式2:通过script标签加载外部的js文件

  • 方式3:设置元素的特定属性或添加特定事件
    每一门语言中变量的定义都是尤为重要的,下面就来讲讲js的变量定义

  • 数字:number,整数、浮点数

  • 布尔:Boolean,true/false

  • 字符串:string,单引号、双引号都行,‘+’可以进行拼接

  • 数组:array,可以使用[]或new Array()进行定义

  • 空类型:null,只有一个值,类型名仍然是object

  • NaN:not a number。不是一个数字,类型依然是object,判断是不能使用‘==’进行判断,使用函数isNaN进行判断

  • 未定义:undefined
    定义变量不赋值,使用对象不存在的属性
    直接判断时与undefined进行比较,类型判断是需要与字符串

  • 对象:
    方式1:先创建对象,然后添加属性和方法。
    方式2:使用json字符串创建
    方式3:使用类似于构造方法的形式

基本运算

  • 赋值运算:=
  • 算数运算:+、-、*、/、%
  • 符号运算:+=、-=、*=、/=、%=
  • 自增自减:++、–
    放在变量前:先自增或自减,然后再参与其他运算
    放在变量后:先参与其他运算,然后再自增或自减
  • 关系运算:>、>=、<、<=、!=
    全等:"===",不但比较数值,还比较数据类型
  • 逻辑运算:&&(与)、||(或)、!(非)
  • 按位运算:&、|、^、`、<<、>>
  • 三目运算:?:
    格式:表达式1?表达式2:表达式3
    流程:首先判断表达式1的真假,若为真则将表达式2作为整个表达式的返回值,反之返回表达式3的值

流程控制

  • 说明:
    条件必须写在()中
    代码块必须写在{}中

  • 分支结构
    if -else if-else

  • 分支结构
    格式

switch(表达式){
  	case 常量1:
  		语句块1
  		break
  	case 常量2:
  		语句块2
  		break
  	……
  	default:
  		语句块1
  		break
}
  • 流程
    当程序执行到switch-case语句时,首先计算表达式的值,然后与所有的case选项匹配,匹配到谁就执行对应的语句块。直到遇见break跳出语句。若没有匹配成功,则执行default语句块。

  • 说明:多个case条件不要相等

循环结构

  • while

    • 说明:与Python中的使用几乎一样
    • 格式:
      while (表达式){
      循环体
      }
  • do-while

    • 格式:
      do{
      循环体
      } while(表达式)
    • 说明:
      当程序执行到do-while语句时,首先执行循环体,然后判断表达式的真假。若表达式的值为真,
      则返回继续执行循环体;若表达式的值为假,则执行后面的内容。
    • 对比while:循环体至少执行一次,即使表达式一直不成立。
  • for

    • 格式:
      for(表达式1;表达式2;表达式3){
      循环体
      }
    • 流程:
      当程序执行到for语句时,首先执行表达式1,然后判断表达式2的真假,若表达式2的值为真,则执行循环体,然后执行表达式3,接着继续判断表达式2的真假,若表达式2的值为假,则跳过循环(循环结束).
    • 说明:
      • 三个表达式可以任意组合的省略
      • 表达式1通常做一些初始化的操作,省略后需要把相关操作放在循环之前
      • 表达式2是循环条件,省略后一直为真(死循环),可以结合break完成相关功能
      • 表达式3通常是使循环趋于结束的语句,省略后需要放在循环体的末尾
  • for-in

    • 类似于python中的用法,通常用于遍历数组或对象

异常处理

  • 说明:与python中的语法相似,可以认为是一种特殊的流程控制语句
  • 示例:
    try{
    //手动抛出异常
    throw ‘出问题了&_&’
    alert(‘nomal’)
    } catch (e){
    alert(e)
    }

函数使用

  • 定义函数的关键字:function
  • 函数的调用可以放在定义之前
  • 函数名不能重复,因为后面的会覆盖前面的
  • 函数可以像普通变量一样使用,打印时会打印整个函数体
  • 函数参数:
    • 函数的参数多传或少传都不会报错
    • 函数参数可以有默认值
    • 函数的所有参数都会保存到arguments对象中,可以像数组一样操作它
  • 封闭空间
    (function (a,b){
    alert(a+b)
    })(3,5)

变量作用域

  • 全局变量:定义在函数外的变量,哪里都可以使用
  • 局部变量:定义在函数内部的变量,只能在函数内部使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章