温习Javascript专题(一):基本概念部份

一、数据范例

基础范例:`Null Boolean String Undefined Number(NB SUN)`

援用范例:`Array Function Object`

范例推断:typeof 返回效果
    `"undefined"(未定义)    "boolean"(布尔值)             "string"(字符串)
    "number"(数值)            "object"(对象或许null)        "funtion"(函数) `
    
  • 拓展:堆 VS 栈(两种数据结构)
 **堆:**行列优先,先进先出;由操纵系统自动分派开释 ,寄存函数的参数值,局部变量的值等。
          其操纵体式格局类似于数据结构中的栈。
   
 **栈:**先进后出;动态分派的空间 平常由顺序员分派开释, 若顺序员不开释,顺序结束时能够由OS接纳,
         分派体式格局却是类似于链表。
      
  1. 基础范例:基础数据范例能够直接接见,他们是根据值举行分派的,寄存在栈(stack)内存中的简朴数据段,数据大小肯定,内存空间大小能够分派。
  2. 援用范例:即寄存在堆(heap)内存中的对象,而js不允许直接接见内存中的位置,因而操纵对象时现实上是操纵其援用,而不是现实对象。

    引伸:js中的浅拷贝与深拷贝 ——待补充

二、操纵符

主要有一元,位,布尔,加,减,乘,关联,相称,前提,赋值,逗号等操纵符。    
  • ++递增/–递减前置和后置区分?

首先要邃晓,前置是先盘算,再赋值;后置是先赋值,再盘算。(操纵符在前就先盘算,在后就后盘算)
比方:

function a(){ 
    var a=5; 
    var c=a++; 
    console.log(c);  // 5, a先赋值给c,再自增
};

function b(){ 
    var a=5; 
    var c=a++; 
    console.log(c);  // 6, a先自增,再赋值给c
};
 
  • 数据转换(隐式和显式)

a. 显式:

Boolean(),Number(),parseInt(),parseFloat(),toString()

b. 隐式:

递增、递减(无论是前置照样后置),一元加,减,乘,求余/取模、逻辑非,关联比较,另有if等语句。

这个处所例子还蛮细致的:https://www.haorooms.com/post…

三、语句

if,for,for-in,continue,break等     
  1. break VS continue
break: 退出全部轮回; continue: 退出当前一轮轮回;for轮回里两都皆可用。

引伸:js中的轮回遍历(包含ES6) ——待补充

四、函数

  • 定义函数的几种体式格局?

    a. 函数声明: function fn(){...}
    b. 函数表达式:let fn=function(){...}
    c. 组织函数体式格局:let fn=new Function(参数,...,函数体)

    原文作者:夕凪
    原文地址: https://segmentfault.com/a/1190000017104324
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞