欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript基础学习

程序员文章站 2023-02-25 10:58:18
javaScript基础 js中的注释 单行注释(格式://注释内容) 多行注释(格式:/* 注释内容 */) 文本注释(格式:/** 注释内容 */)js语句 例如: var num = 8; 我能用var定义了一个保存数字8的变量num 语句块:{声明内容的区域} 注意:JS语句块是由 { } ......

javascript基础

js中的注释
  单行注释(格式://注释内容)
  多行注释(格式:/* 注释内容 */)
  文本注释(格式:/** 注释内容 */)

js语句
  例如: var num = 8;
   我能用var定义了一个保存数字8的变量num
  语句块:{声明内容的区域}
  注意:js语句块是由 { } 组成的


标识符
   用标识符来组成合法的变量,常量或函数名等(不然不符合规范有的会报错的)
   例如:let num = 8;中的num就是一个标识符

 硬性规则(这个是必须遵守的不然js会报错)
  只能使用数字、字母、下划线(_)和美元符号($)
  数字不能作为开头
  js中的保留字和关键字不能使用
  严格区分大小写
  软性规则(不是必须遵守,但遵守的话会给你写代码带来便利)


  望文知意
  尽量命名规范让别人一看就知道你写的是什么,一看就懂大概的意思,例如:团队开发
  命名方案
        驼峰命名法(小驼峰,大驼峰)
    小驼峰 例如:username 第一个单词首字母小写,后面其它单词开头都大写
    大驼峰 例如: username 里面的所有单词都是首字母大写

       匈利亚命名法
      例如:c_username c为改标识符的类型
  
      蛇形命名法
         例如:usr_name
保留字与关键字(别看着多以后用着用着就差不多就认识了)
  保留字
    abstract 、 enum   、int 、 short 、 boolean  、export  、interface、  static、  byte  、extends 、 long 、 super 、 char 、 final  、native  、synchronized 、 class  、float 、 package  、throws 、               const  、goto  、private 、transient 、 debugger 、 implements  、protected 、 volatile 、 double  、import  、public
  关键字
     break、else、new、var、 case、  finally 、 return、 void 、 catch  、for  、switch 、 while 、 continue、  function  、this 、 with 、default 、 if 、 throw 、 delete 、 in 、  try 、do 、                instranceof、  typeof
数据类型
  简单数据类型
    number ===>整数,小数
    string ===>以单引号或者双引号括起来的文本
    boolean ===>true或false
    undefined ===>undefined其实就是由null演变而来的
    null ===>null
    symbol ===>一般用于对象的属性命名
复杂数据类型
  object(后面学习)
    变量
    声明变量:var、let、const(推荐使用es6的新关键字let和const)
    重复声明的变量
    var声明的变量是可以覆盖的
    例如:var a= 5; var a=6;最后a的值为6
    let和const是不允许的(同一范围内)
变量的作用域
  全局作用域
    在整个文档的区域,拥有全局作用域的变量叫做全局变量
    无论在js那个区域都可以找到它
  局部作用域
    es5及之前,指通过函数产生的作用域(函数作用域);es6,let和const的引入,加入块级作用域的概念“{}”,其变量叫局部变量
    例如:{let a = 5;}这个用let声明的变量a就只有在—{}内部访问变量a,这个 { } 是个块级
    注意:没有关键字的变量,有特殊处理,是全局的
    例如:name = "me"; 该变量前面没有使用var,let或count定义所以会进行特殊处理
  变量提升
- 所有通过var声明的变量,变量的声明部分会提升到当前作用域的最顶端
  var和let区别
  var是es5,let是es6
  var可以重复声明,let不可以
  var有变量提升,let不可以
  var的局部作用域只有函数作用域,而let包含函数作用域和块级作用域
 运算符
 字符串运算符
   + 拼接运算符
   ``(就在键盘~那儿) 模板运算符可以实现无缝拼接
   例如:`我的名字${name}`;
    特点:可换行(其中的空格,换行,制表都不会产生错误,且会被解析)
 算数运算符
   +、-、*、/、%、**(求幂es6)、--、++
   ++、--分前缀和后缀,前缀表示先执行该运算,再参与其所在表达式,后缀恰好相反
   ==  ===(全等于)  != !==(全不等于):“全”表示必须一模一样才会相等,没有类型的自动转换发生
 逻辑运算符
  &&、&、||、|、!
  比较运算符
  >、>=、<、<=、==、===、!=、!==
 赋值运算符
  =、+=、-=、*=、/=、%=
 三目运算符
  【表达式1】?【表达式2】:【表达式3】

 数据类型转换
   显示转换
      tostring() 转换为字符串
       例如:let name = 8; 
      let b = name.tostirng();
      console.log(b);
      会输出字符串8


   string()
      string("变量");


    number()
      number("123dfsf");
      遇到d就停止只返回了123


   parsefloat()
      parsefloat(2.123)
      返回0.123小数部分


    parseint()
      parseint(12.34)
      返回12整数部分


    boolean()
      boolean(a>b);
      返回true或false


   隐士转换
    js自动就转换了(内部)