js基础知识

js中的数据类型检测

    typeof [val] :用来检测数据类型的运算符

    instanceof :用来检测当前实例是属于某个类

    constructor:  基于构造函数检测数据类型(也是基于类的方式)

    Object.prototype.toString.call() :检测数据类型最好的方法

用法如下:

    typeof  '12'  ==> 'string'

    typeof   true ==> 'boolean'

    typeof   null ==> 'object'

    typeof  undefined ==> 'undefined'

    typeof  1 ===>  'number'

    typeof   NaN  ==> 'number'

    typeof  {}  ==> 'object'

    typeof []  ==> 'object'

    typeof  /^/  ==>'object'

    typeof  function(){}  ==>  'function'

typeof 的特点:

    基于typeofj检测出来的结果

       1  首先是一个字符串

     2 字符串中包含了对应的类型

typeof的局限性:

    1  typeof  null   =>  'object' 但是 null b并不是对象

    2 基于typeof 无法细分出当前值是普通对象还是数组对象等。因为只要是对象数据类型返回的结果都是 ‘object’

 

typeof  的练习题?

    console.log(typeof typeof typeof []) 输出的结果是什么?

    因为:从右向左开看,typeof []的结果是。字符串 ‘object’所以在使用ttypeofq去检测 ‘object’时的

            结果为 ‘string’,最后的结果就是 字符串 ‘string’

    

 

js中的操作语句:判断,循环

  判断:条件成立做什么,不成立做什么?

   -if /else if  /else

   -三元运算符

   -switch case

 

1  if /else

   条件的多样性:等于。大于。小于的比较 /y一个值或者取反等。==>z最后都是要计算出是true还是ffalse

 

2 三元运算符:简单的 if/else 的特殊处理方式。

// 条件?条件成立处理的事情:不成立处理的事情;

  1 如果处理的事情比较多,我们用括号包起来。每一件事情用逗号分隔

    2 如果不需要处理事情,可以使用 null / undefined 占位

 

3 switch case : 一个变量在不同值情况下的不同操作

    1 每一种case情况结束后最后都加上break

    2  default 等价于 else 以上都不成立干的事情

    3   每一种caseq情况的比较用的都是。=== ‘绝对相等’

    4。  不加bbreak    当前条件执行完成后,后面的条件不论是否成立,直到遇到 break 为止

    (不加break 可以实现变量在 某些值的情况下做相同的事情,==> 编程开发人员要具备探索尝试执行)

 

“==" 与 “===”的比较

   == : 相等 (如果左右两个数据值类型不同),是默认先转换为相同的类型,然后比较。

      例如: '5' == 5  ===> true;

     ===: 绝对相等 (如果类型不一样,肯定不相登,不会默认转换数据类型)

      '5' === 5  .====>false

循环

  重复做些某些事情就是循环

  循环的类型包括如下:

     for 循环

     for  in 循环

     for  of 循环

     while   循环

     do while 循环

 

  循环开始的条件

    1 创建循环初始值

    2设置 (验证)循环执行的条件

    3  条件成立执行循环体中的内容

    4  d当前循环结束执行步长累计操作

 

 循环体中的两个关键词

    continue:结束当前这轮循环 (continue后面的代码不再执行)j继续执行下一轮循环

    break :强制结束整个循环 (break后面代码也不再执行),而且整个循环啥也不干直接结束

 

posted @ 2019-07-17 21:59  行走的翅膀  阅读(145)  评论(0编辑  收藏  举报