js基础语法
    Netcape   
    js基础语法规范(ECMAScript1,2,3,3.1,5(IE9),6   ES    ES6=es2015) DOM BOM  
       BOM :是由浏览器厂商各自实现的,所以差异比较大
       DOM:相关的规范  是由W3C维护的
    Node的优势  没有浏览器的兼容性问题
    前端项目尽量不要使用ES6,需要考虑兼容性问题
--------------------------------数据类型---------------------------
1.数据类型分类:
            基本数据类型:number   string   boolean      undefined    null
            复杂数据类型:对象(数组,函数,日期)
 
undefined:数据未定义的一种状态
2.typeof 返回的数据类型
可以返回这六种数据类型:number  string  boolean  function  undefined  object
日期,数组,正则都是object类型
可以使用typeof来检测前5中的数据类型 '
注意返回的是字符串   小写
console.log(typeof  alert());//function  使用typeof检测函数 返回的是function
 
3.逻辑运算符
&&  :   左边为真的话,返回右边;左边为假的话,返回左边      (如果左边为真,需要计算右边所以会返回右边的结果)
||  :左边为真的话,返回左边;左边为假的话  返回右边   (如果左边为真,就不需要再计算右边了,所以会直接返回左边的值)
console.log(undefined  &&  10);//undefined
console.log(0 || 3);//3  
 
真假值:
假值:  空字符串""   数值0   false     null(声明的变量赋值了但是赋值的是空值)   undefined(变量声明了但是没有定义)    NaN(不是一个数字,NaN本身是number类型的)  
 
4.获取对象未定义的属性的话返回的是undefined不是  is not defined
var  obj = {name:''xiaoming"};
console.log(obj.age);//undefined
5.值类型  引用类型
值类型:数字 字符串  boolean  null  undefined
引用类型:对象
 
5.  instanceof
var  result = obj  instanceof   XXX;
返回值是一个boolean类型
检测obj是否是XXX类的一个实例
  1. var obj ={};
  2. console.log(obj instanceof Object);
  3. var arr =[1,2,3,4];
  4. console.log(arr instanceof Array);
    
constructor属性:保存了对构造特定对象实例的函数的引用
  1. console.log(arr.constructor==Array);//true
  2. console.log(obj.constructor==Object);//true
  3. console.log(num.constructor==Number);//true
 
代码调试   异常捕获
面向对象基础复习
构造函数和原型
 
变量声明提升(词法作用域 原理性的介绍)
作用域:全局作用域     局部作用域(写一个函数就产生了一个局部作用域)
 
 
  1. function bar(){
  2. function foo(){}
  3. foo =10;//2.给变量foo赋值 10 foo变为了一个number类型
  4. // function foo() {}//1.函数声明 提升到当前作用域的顶端
  5. return foo;//3.将number类型的的foo返回
  6. }
  7. // console.log(foo);
  8. console.log(typeof bar());
 
  1. function fun(a, b){
  2. for(var i =0; i < arguments.length; i++){
  3. console.log(arguments[i]);//分别打印的函数的参数
  4. }
  5. return a + b;
  6. }
  7. console.log(fun(3));//NaN 3+undefined 得到是一个NaN
  1. var foo =function bar(name){
  2. console.log("hello"+ name);
  3. };
  4. foo("world");
  5. //bar();//无法打印 bar is not defined
  6. /*在函数内部,bar可以被访问,此时的bar就相当于foo,相当于函数本身*/
  7. //只能通过打印foo.toString()从而找到bar
  8. console.log(foo()== bar());
  9. console.log(foo.toString());//打印的是function bar(name) 函数体
 

JS基础复习的更多相关文章

  1. JS基础 复习: Javascript的书写位置

    爱创课堂JS基础 复习: Javascript的书写位置复习 js书写位置:body标签的最底部.实际工作中使用书写在head标签内一对script标签里.alert()弹出框.console.log ...

  2. js基础复习点

    1.变量   var num=10;       var num1,num2,num3;   num1=10;   num2=20;   num3=30;       var num1=10,num2 ...

  3. js基础复习~Array对象

    Array对象 lenght 获取到数组的长度 concat() 方法用于合并两个或多个数组.此方法不会更改两大有数组,而是返回一个新的数组 let arr1 = ["a",&qu ...

  4. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  5. day51 JS基础

    复习 1.字体图标 用i标签, 设置类名, 与第三方字体图标库进行图标匹配 <link rel="stylesheet" href="font-awesome-4. ...

  6. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  7. 《CSS权威指南》基础复习+查漏补缺

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  8. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  9. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

随机推荐

  1. memset函数及原补反码关系

    memset函数及原补反码关系 计算机存储的是补码 几组常用的memset函数初始化值 10000000 128 10000000 10000000 10000000 10000000 -213906 ...

  2. 原来... 用debug如何查看当前标志寄存器的标志位值?

    -r 用这个指令,得到的信息右下角: NV   UP   EI   PL   NZ   NA   PO   NC这些符号代表的就是标志寄存器里常用标志位的值. 这个是符号值对应表: 溢出标志OF(Ov ...

  3. CSS 随记

    伪类选择符的顺序:L-V-H-A CSS提供了四种元素设置链接的颜色,包括:link.:visited.:hover.:active,它们的声明是有一定顺序的,我们简称这种顺序为L-V-H-A,即li ...

  4. 【计算机网络mooc】二、物理层

    1.物理层基本概念 物理层只考虑传输bit流,不包括网线等传输媒体(可认为是第0层),屏蔽传输媒体的差异,不同的传输媒体定义不同标准. 主要任务:确定与传输媒体的接口的特性. 机械特性:网线上面的水晶 ...

  5. gentoo/funtoo 环境配置使用 valgrind

    设置需要的 use 与 FEATURES,重新编译 glibc 即可: # echo "sys-libs/glibc debug" > /etc/portage/packag ...

  6. 浅析Draw Call

    Draw Call是CPU对GPU的一种命令,仅仅指向一个需要被渲染的图元列表,在OpenGL和DirectX中分别体现为glDrawElements和DrawIndexedPrimitive图像编程 ...

  7. php token的生成和使用

    原文连接:http://ukagaka.github.io/php/2018/05/08/JWT.html 1. 为什么要使用tokent进行登录 前后端分离或者为了支持多个web应用,那么原来的co ...

  8. @Validated和@Valid区别:Spring validation验证框架对入参实体进行嵌套验证必须在相应属性(字段)加上@Valid而不是@Validated

    Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR- ...

  9. Darknet YOLOv3 on Jetson Nano

    推荐比较好的博客:https://ai4sig.org/2019/06/jetson-nano-darknet-yolov3/ 用的AlexeyAB的版本,并且给出了yolov3和tiny的效果对比. ...

  10. python之arrow时间处理模块

    首先安装 pip install arrow 直接创建arrow对象 print(arrow.get(2019, 1, 23)) # 2019-01-23T00:00:00+00:00 print(a ...