美文网首页
JavaScript基础总结

JavaScript基础总结

作者: ZombieBrandg | 来源:发表于2018-06-04 23:09 被阅读0次

基本语法

语句:

var a = 1 + 2;这条语句先用var命令,声明了变量a,然后将1 + 2的运算结果赋值给变量a。其中1+2是表达式(expression)。一般用;号进行语句结束

变量,常量

变量就是对值的一种引用。使用变量之前一定要变量声明var;let,如var a = 1 + 2;其中a是变量 1 和 2都是常量。

标识符

标识符(identifier)是用来识别具体对象的一个名称。最常见的标识符就是变量名,以及后面要提到的函数名。JavaScript语言的标识符对大小写敏感,所以a和A是两个不同的标识符。其中有一些重要规则。

第一个字符,可以是任意Unicode字母(包括英文字母和其他语言的字母),以及美元符号($)和下划线(_)。
第二个字符及后面的字符,除了Unicode字母、美元符号和下划线,还可以用数字0-9。

数据类型

  • 数值(number):整数和小数(比如1和3.14)

  • 字符串(string):字符组成的文本(比如”Hello World”)

  • 布尔值(boolean):true(真)和false(假)两个特定值。短路逻辑。

  • undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值,没有赋值的基本对象。

  • null:表示无值,即此处的值就是“无”的状态。没有赋值的对象。

  • 对象(object):各种值组成的集合

  • Symbol

对象(object)又有三个子类型:狭义的对象(object),数组(array),函数(function)
六种假值:false,0,''或者" ",NaN,undefined,null
其中console.log()任何值返回的都是undefined

运算符

运算符优先级顺序:

  1. ()
  2. ,
  3. =

函数(function)

每次调用函数都会有result=fcuntion xxx .call(this,[arguments]),this默认是window,arguments是一个为数组对象 ,函数里都有return.

result=fcuntion xxx .call(this,[arguments]){
  return undefined //return默认 undefined
}

函数作用域

作用域有就近原则由下往上,声明变量会被提前

浏览器

浏览器给我门提供了window和document API
主要分为两大类BOM 和 DOM

var 与 let 区别

var 是函数作用域的变量,可以同一作用域重复覆盖声明变量
let 是块级作用域变量,且同一个作用域不会重复声明变量
let 与for语句一起使用的时候会在for块级作用域里添加一个与圆括号相等的let声明
let 有死亡区域是声明之前不允许使用let变量
浏览器第一次阅览代码只看声明 function和var,let
let高级理解

var a =1                          
function f1(){                   
                  // 实际浏览器阅读第一次代码会把var a 放在这里
  if(true){                          
    }else{                 
     var a = 2    // a= 2 保留在这里 
  }
  console.log(a)
}
f1() //undefined
------------------分割线------------------------
var a =1
function f1(){
  if(true){
    }else{
     let a = 2  //let a 则还在这里
  }
  console.log(a)
}
f1() //1
------------------分割线------------------------
var a =1
let a =2 //error
------------------分割线------------------------
for(let i=1;i<6;i++){    //在花括号内侧会自动添加一个匿名与圆括号相等的 let i=圆括号let i
  setTimeout(function(){
    console.log(i)
  },1000)
}              //0,1,2,3,4,5
------------------分割线------------------------
let a =1
{
  console.log(a)
  let a = 2
}               //error 虽然let a 提升到block第一行但是在a=2之前如果调用a则报错

setTimeout与setInterval方法的区别:

setTimeout(a(),500),在500毫秒后只执行1次方法a(),而setInterval(a(),500)是每隔500秒执行一次
方法a()。也就是说如果不把前者放在循环里,就不能实现后者的循环功能。

相关文章

  • JS基础练习

    github作业地址: JavaScript基础练习 JavaScript集合练习 pre-pos 作业总结 1、...

  • 来了老弟,新鲜的前端基础知识回顾--JavaScript篇

    前端三剑客之JavaScript篇,本篇主要总结JavaScript知识。 1、基础语法 Javascript 基...

  • JavaScript基础总结

    基本语法 语句: var a = 1 + 2;这条语句先用var命令,声明了变量a,然后将1 + 2的运算结果赋值...

  • JavaScript基础总结

    数据类型 在JavaScript中是没有分整数,浮点数,全部统一都是Number表示,比如字符串,布尔值和一些常用...

  • JavaScript基础总结

    值类型和引用类型 可以使用typeof来进行判断,typeof可以判断出所有的值类型 typeof还能判断出函数类...

  • JavaScript基础总结

    1.JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置...

  • JavaScript基础总结

    ✍目录总览:(JS概念与组成、JS格式规范、JS基本语法【输入、输出、变量、数据类型、数据类型转换、运算符、流程控...

  • 关于字符串方法总结

    @(JavaScript基础)[String.prototype] 关于字符串方法总结 String.protot...

  • web前端内容总结

    一、web前端学习内容总结1、HTML、CSS基础、JavaScript语法基础。学完基础后,可以仿照电商网站(例...

  • JavaScript 基础总结(2)

    原型链 每个复杂类型都拥有的属性不需要为每个对象都添加,而提取公用部分在内存中只保存一份,如:toString,v...

网友评论

      本文标题:JavaScript基础总结

      本文链接:https://www.haomeiwen.com/subject/ipeusftx.html