zoukankan      html  css  js  c++  java
  • JS基础(JavaScript三大特点、基本数据类型检测、逻辑运算符的短路运算、几大循环结构的特点)

    JavaScript的三大特点

    1.js是单线程语言,浏览器只分配给js一个主线程,用来执行任务(函数)

    2.JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

    3.数据类型可以被忽略的语言。一个变量可以赋不同数据类型的值。

     

    JavaScript基本数据类型检测

    关键字  typeof(变量名或者数据)  用来检测数据类型

    typeof对于的值只有六个,分别是:

    string、number、boolean、object、undefined、function

    typeof无法检测复杂类型数据值。

     

    JavaScript逻辑运算符的短路运算

    1、逻辑与 && 的运算方式

    如果逻辑与运算符左边的值布尔转换后为true,那么返回右边的值(不管右边的值是真还是假)。

    如果逻辑与运算符左边的值布尔转换后为false,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/NaN/undefined。

    2、逻辑或 || 的运算方式

    如果逻辑或运算符左边的值布尔转换后为false,那么返回右边的值(不管右边的值是真还是假)。

    如果逻辑或运算符左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是是null(NaN/undefined),返回null(NaN/undefined)

     

    JavaScript循环结构

    循环结构的执行步骤:

    1、声明循环变量;

    2、判断循环条件;

    3、执行循环体操作;

    4、更新循环变量;

    5、然后循环执行2-4,直到条件不成立,跳出循环。

    1.while循环()中的表达式,运算结果可以是各种类型,但是最终都会转为真假,转换规则如下。

    ①Boolean:true为真,false为假;

    ②String:空字符串为假,所有非空字符串为真;

    ③Number:0为假,一切非0数字为真;

    ④null/Undefined/NaN:全为假;

    ⑤Object:全为真。

     

    2.while循环特点:先判断后执行;

    do-while循环特点:先执行再判断,即使初始条件不成立,do-while循环至少执行一次;

     

    3.for循环

    for有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;三个表达式之间,用;分割,for循环三个表达式都可以省略,但是两个“;”缺一不可。

    for循环的执行特点:先判断再执行,与while相同

    for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割;

     

    4.for-in 循环主要用于遍历对象

    for()中的格式:for(keys in 实例名){}

    keys表示obj对象的每一个键值对的键!!所有循环中,需要使用obj[keys]来取到每一个值!!!

    for-in 循环,遍历时不仅能读取对象自身上面的成员属性,也能延续原型链遍历出对象的原型属性

    所以,可以使用hasOwnProperty判断一个属性是不是对象自身上的属性。

    obj.hasOwnProperty(keys)==true 表示这个属性是对象的成员属性,而不是原先属性。

     

    5.for-of循环

    ES6 借鉴 C++、Java、C# 和 Python 语言,引入了for...of循环,作为遍历所有数据结构的统一的方法。

    一个数据结构只要部署了Symbol.iterator属性,就被视为具有iterator接口,就可以用for...of循环遍历它的成员。也就是说,for...of循环内部调用的是数据结构的Symbol.iterator方法。

    for...of循环可以使用的范围包括数组、Set 和 Map 结构、某些类似数组的对象(比如arguments对象、DOM NodeList 对象)、后文的 Generator 对象,以及字符串。

    for...in循环读取键名,for...of循环读取键值。如果要通过for...of循环,获取数组的索引,可以借助数组实例的entries方法和keys方法。

     

    6.循环控制语句

    1、break:跳出本层循环,继续执行循环后面的语句。

    如果循环有多层,则break只能跳出一层。

    2、continue:跳过本次循环剩余的代码,继续执行下一次循环。

    ①对与for循环,continue之后执行的语句,是循环变量更新语句i++;

    ②对于while、do-while循环,continue之后执行的语句,是循环条件判断;

    因此,使用这两个循环时,必须将continue放到i++之后使用,否则,continue将跳过i++进入死循环。

    7.for...in与for...of循环的比较

    for...in循环有几个缺点

    ①数组的键名是数字,但是for...in循环是以字符串作为键名“0”、“1”、“2”等等。

    ②for...in循环不仅遍历数字键名,还会遍历手动添加的其他键,甚至包括原型链上的键。

    ③某些情况下,for...in循环会以任意顺序遍历键名。

    for...in循环主要是为遍历对象而设计的,不适用于遍历数组。

    for...of循环

    有着同for...in一样的简洁语法,但是没有for...in那些缺点。

    不同于forEach方法,它可以与break、continue和return配合使用。

    提供了遍历所有数据结构的统一操作接口。

     

     

  • 相关阅读:
    Android中使用WebView, WebChromeClient和WebViewClient加载网页
    Android清除本地数据缓存代码案例
    暴雪hash算法
    C++ 指向类的指针
    Qt VS Tools 的Qt Option add 不上qt版本的问题
    Dom4j完整教程详解
    java中charAt()方法的使用
    Linux环境下C++调试的三板斧
    (转载)Markdown进阶(更改字体、颜色、大小,设置文字背景色,调整图片大小设置居中)
    关于回调函数的理解
  • 原文地址:https://www.cnblogs.com/MDZZZ/p/12120566.html
Copyright © 2011-2022 走看看