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配合使用。

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

原文地址:https://www.cnblogs.com/MDZZZ/p/12120566.html

时间: 2024-10-11 18:48:33

JS基础(JavaScript三大特点、基本数据类型检测、逻辑运算符的短路运算、几大循环结构的特点)的相关文章

js基础--javascript基础概念之数组

js基础--javascript基础概念之数组 在ECMAScript 中 ,数组是很常用的数据类型,js中的数组和其他很多语言的数组有明显的区别.js的数组可以保持任何类型的数值,一个数组中可以保存着多个不同类型的数值.js数组大小(长度)是可以调整的.可以随着数据的添加自动增长数组长度. 创建数组: 一.数组字面量 数组字面量由一对包含数组项的方括号[]表示. var array = [ 'kin', 'cheong', 'change', 'hello', 'haha', 'hi' ];

js基础--javascript基础概念之数组(二)

js基础--javascript基础概念之数组 数组栈方法 数组可以像栈一样.栈是一种先进后出的数据结构,最先添加的数据最后一个出来.栈方法添加数据也称为 推入  移除数据称为 弹出. js为数值栈方法提供了 push()   和  pop() ;  两个方法. push() push() 方法接受参数就是你要添加进入到数组的值.push()  方法会将他们逐一添加到数组的末尾  数组的length属性会跟着更新数据. *push(多个数组元素值) 返回的修改后的数组长度 var array =

js基础--javascript基础概念之语句(二)

js基础--javascript基础概念之语句(二)label,break,continue.. break .  continue 语句. break  continue 语句用于在循环中精确控制代码的执行,其中break语句会立即退出循环,执行循环后面的语句. continue 则退出循环后返回到再次进入循环中. 如: var num = 0; for(var i = 0; i<=100; i++){ if(i >= 10){ break; } num = i; } alert(num);

js基础--javascript基础概念之变量与作用域

js基础--javascript基础概念之变量.作用域 javascript按照ECMA-262 的定义,变量与其他语言变量有所不同.js变量时松散的,不需要事先定义变量类型的.这使得他只是一个保存特定值的一个名称.变量与其数据类型可以在脚本的生命周期内改变. 还有明白几点: JavaScript的变量作用域是基于其特有的作用域链的,JavaScript没有块级作用域. 基本类型和引用类型的值 ECMAScript 的变量有两种不同的数据类型:分别是 基本数据类型值 和 引用类型值 : 基本数据

js基础--javascript基础概念之语法

掌握一门语言 必须先掌握它的语法! javascript 的语法和C.Java.Perl 的语法有些相似.但是比它们更加宽松. javascript 中的一切都是严格区分大小写的.例如变量: demo 和 Demo 两个变量是完全不同的. javascript 标示符,所谓标示符 是指 变量.函数.属性 的名字或函数的参数.标示符的格式是按照以下规则组合的一个或多个字符. 1.第一个字符必须是字母,下划线,或 $ 符号. 2.其他字符可以是字母.下划线.$ . 或数字. 注意 不能把关键字 保留

js基础--javascript基础概念之语句

js基础--javascript基础概念之语句 ECMA-262定义了一组语句(流程控制语句) 语句定义了EMCAScript 语法. 常见的if语句. 语法: if(condition) statement1 else statement2 其中.Condition 可以是任意表达式.而且对这个表达式求值的结果不一定是布尔值.因为script 会自动调用boolean 将值转换为布尔值.如果condition 的值是 true .则执行statement1 语句  否则  执行 stateme

JS基础----&gt;javascript的基础(一)

记录一些javascript的基础知识.只是一起走过一段路而已,何必把怀念弄的比经过还长. javascript的基础 一.在检测一个引用类型值和 Object 构造函数时, instanceof 操作符始终会返回 true . var str1 = "huhx"; var str2 = new String("huhx"); console.log(str1 instanceof Object); // false console.log(str2 instanc

二、JavaScript语言--JS基础--JavaScript进阶篇--浏览器对象

1.window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 2.JavaScript 计时器 在JavaScript中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行. 计时器类型: 一次性计时器:仅在指定的延迟时间之后触发一次. 间隔性触发计时器:每隔一定的时间间隔就触发一次. 计时器方法: (1) 计时器--指定时间间隔 ① setInterval() 在执行时,从载入页面后每隔指定的时间执行代码. 语法: set

JS基础--JavaScript实例集锦(初学)

1.子节点childNodes: <!DOCTYPE html> <html> <head> <title>childNodes</title> </head> <script type="text/javascript"> window.onload=function(){ var oUl=document.getElementById('ul1'); //alert(oUl.childNodes.l