【js】JavaScript基础(一)

1、js执行-轮转时间片

2、浏览器组成=shell+内核部分

  • 主流浏览器         内核
  • IE                         trident
  • Chrome                webkit/blink
  • firefox                   Gecko
  • Opera                   presto
  • Safari                   webkit
  • 不同浏览器使用不同的javaScript引擎

            chrome =>  v8

            Firefox  => OdinMonkey(奥丁猴)

            safri      => JSCore

            IE浏览器=>Chakra(查克拉)

3、js引入方式

页面内嵌和外部引用,外部引用更符合目前web标准

4、变量

变量声明与赋值

var a = 111

命名规则

  1. 变量名必须以英文字母、_、$开头
  2. 变量名可以包括英文字母、_、$、数字
  3. 不可以用系统的关键字、保留字作为变量名

关键字与保留字

常见关键字

保留字

变量命名:

  1. 驼峰命名:第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写。
  2. 匈牙利命名:开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写
  3. 下划线命名:通过下画线连接多个单词。

5、数据类型

原始值

number类型表示数字类型,用于存储数字。数字可分为整型( int )和浮点型( float ),整型用于表示整数,浮点型用于表示小数;

string:string类型表示字符串类型,字符串是由Unicode字符集子集构成的序列,在JavaScript中用来表示文本的数据类型。

boolean:表示布尔值类型,布尔值表示真假值,只有两个可选值,即真值( true )和假值( false )。

object:表示对象类型,对象是各种值的集合。

undefined:表示未定义类型,如果var关键字声明一个变量,但并没有对其进行赋值,则无法判断变量的数据类型,此时变量数据类型是undefined

null:表示空类型,表示当前为空值

引用值

array object function ..date RegExp

6、类型转换

在JavaScript中改变数据类型的方式有显式类型转换和隐式类型转换两种方式。

显示类型转换是通过具体的方法,手动的进行转换的方式。Number()方法是把变量转成数字类型;String()方法是把变量转换成字符串类型;Boolean()方法是把变量转换成布尔值类型。

var foo = '1';
Number(foo);    //1
typeof Number(foo);  //number

 隐式类型转换是通过运算的方式,自动的进行转换的方式。

类型比较:== 与 ===

其中==运算符左右变量进行比较时,值相同,类型可以不同;而===运算符左右变量进行比较时,值相同而且类型也要相同。

还有几个特殊的比较,undefined与null比较时会返回true;与NaN比较时,则会返回false。

注意,NaN与任何值比较都会返回false,包括它自身。这也属于JavaScript历史原因,当时的语法不够严谨,延续至今。JavaScript语言是一门极其灵活的语言,在很多地方不严谨,需要更多的实践与总结。

undefined == null;   //true
undefined === null;   //false
NaN == NaN;     //false
2 == '2';   //true
2 === '2';   //false

7、算术运算符

javaScript 分为九种,赋值顺序自右向左,运算顺序,自左向右。

自增运算符( ++ )和自减运算符( -- )是对数值进行加1或减1的操作,会改变原始数值的大小。 

var foo = 1;
var bar = 1;
foo++;    //1
++bar;    //2

8、赋值运算符

赋值运算符分为简单赋值运算符和复合赋值运算符两种。

简单赋值运算符将赋值运算符( = )右边表达式的值保存到左边的变量中。

复合赋值运算符结合了其他操作(如算术运算操作)和赋值操作。

9、比较运算符

比较运算符用于比较两个值,返回一个布尔值,表示是否满足比较条件。满足条件返回true,不满足条件返回false。

10、逻辑运算符

逻辑运算符一般用于执行布尔运算,通常和比较运算符一起用来表示复杂比较运算,逻辑运算涉及的变量通常不止一个,而且常用于if、while和for语句中。常见的逻辑运算符有&&(逻辑与)运算符、||(逻辑或)运算符和!(逻辑非)运算符三种。

&&表示逻辑与,若两边表达式的值都为true,则返回true;任意一个值为false,则返回false。

| | 表示逻辑或,只有表达式的值都为false,才返回false,否则返回true。

!表示逻辑非,若表达式的值为true,则返回false;若表达式的值为false,则返回true。

11、条件运算符

条件 ? 语句1 : 语句2;

其中,如果条件为true,则表达式的值使用“语句1”的值;如果条件为false,则表达式的值使用“语句2”的值,?:运算符需要有三个操作数,因此一般也称为三目运算。

1.if判断即if语句,是选择结构中运用最广泛的语句,一般可分为单向选择、双向选择和多项选择三种形式。

if( 逻辑条件 ){
语句1;
}
语句2;if( 逻辑条件 ){
语句1;
}
else{
语句2;
}if( 逻辑条件 1){
语句1;
}
else  if(逻辑条件2){
语句2;
}
else{语句3;
}

2. switch判断即switch语句,也是选择结构中很常用的语句,用于将一个表达式同多个值进行比较,并根据比较结果选择执行语句。

switch(表达式 ){case  取值1: 
语句1;
break;
case  取值2:
语句2;
break;default:
语句3;
}

 3.while循环即while语句,是循环结构中常见的语句,也是比较简单的循环语句。

while( 逻辑条件 ){
语句1;
}
语句2;

 4.for循环即for语句,也是循环结构中常见的语句,同时也是使用最为广泛的循环语句。

for(初始值;逻辑条件;循环后操作 ){
语句1;
}
语句2;

5.break语句用于跳出整体循环,停止后续循环操作。

 for( var i=0; i<5; i++ ){if(i==3){break;             //跳出整个循环}console.log( i );}
// 首先定义了一个for循环,并且根据条件会执行5次循环体,但是当i自增到3时,会触发循环体中if语句的执行,即触发break语句,break在循环中表示跳出整个循环,后续的代码及后续的循环都会立即停止,因此,只会触发输出0、1、2三个结果。

6.continue语句与break语句类似,但continue语句只跳出本次循环,不影响后续循环。

for( var i=0; i<5; i++ ){if(i==2){continue;      //跳出当前循环}console.log( i );}
// 首先定义一个for循环,然后根据条件会执行5次循环体,但是当i自增到2时,会触发循环体中if语句的执行,即触发continue语句,continue在循环中表示跳出当前循环,后续的代码不会执行,但是后续的循环还会继续,因此,会触发输出0、1、3、4四个结果,而2并没有触发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/474727.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(九)【Jmeter】线程(Threads(Users))之bzm-Free-Form Arrivals Thread Group

简述 操作路径如下: 作用:支持自由形式的用户到达模式,具有更高的灵活性,与Arrivals Thread Group类似,不过是通过设置起始值、终止值和持续时间来达到压测目的。配置:通过图形界面或脚本定义用户到达曲线。使用场景:模拟复杂的用户到达模式,满足特定业务需求。优点:…

计算机网络知识-笔记

计算机网络知识总结 目录 应用层 HTTP 协议 概况HTTP 请求报文HTTP 响应报文首部行HTTP/1.1 协议缺点 HTTP/2 协议 二进制协议多路复用数据流头信息压缩服务器推送HTTP/2 协议缺点HTTP/3 协议 HTTPS 协议 HTTP 存在的问题HTTPS 简介TLS 握手过程实现原理 DNS 协议 概况域名的…

Day20 -- learning english

一、积累 1.gulp 2.clog 3.artery 4.bloat 5.kidnap 6.groom 7.prey 8.cargo 9. jerk 10.treadmill 11.shatter 12. acrobatic 13. aggravate 14.moldy 15.curl 16.manual 17.slay 18.sibling 19.hatch 20.dense 二、练习 1.牛津原译 Gulp /ɡʌlp 1.~ sth (down)to swallow …

AIGC实战——能量模型(Energy-Based Model)

AIGC实战——能量模型 0. 前言1. 能量模型1.1 模型原理1.2 MNIST 数据集1.3 能量函数 2. 使用 Langevin 动力学进行采样2.1 随机梯度 Langevin 动力学2.2 实现 Langevin 采样函数 3. 利用对比散度训练小结系列链接 0. 前言 能量模型 (Energy-based Model, EBM) 是一类常见的生…

抖音小店怎么选品?选品思维分享,上架产品自带销量

大家好&#xff0c;我是电商花花。 这两天就要开始开工工作了&#xff0c;对于我们做抖音小店来说&#xff0c;想要做好抖音小店&#xff0c;想要有销量&#xff0c;选品是一定要学会的。 今天给大家讲一下我们想要做抖音小店的朋友该怎么做抖音小店无货源&#xff0c;怎么选…

【Linux】进程的初步认识(一)

进程的初步认识 基本概念描述进程task_struct-PCB的一种task_stuct内容分类 查看进程通过系统调用获取进程标识符 基本概念 要了解进程&#xff0c;首先我们要知道两点 我们可以同时启动多个程序&#xff0c;也就意味着我们可以将多个.exe文件加载到内存操作系统如何去管理这些…

【多线程】线程的概念与创建

多线程 1. 认识线程&#xff08;Thread&#xff09;线程是什么为啥要有线程进程和线程的区别Java 的线程 和 操作系统线程 的关系 2.第⼀个多线程程序3.创建线程⽅法1 继承 Thread 类⽅法2 实现 Runnable 接⼝方法3 匿名内部类创建 Thread ⼦类对象方法4 匿名内部类创建 Runnab…

产品经理学习-产品运营《流程管理》

如何进行流程管理 信息可视化 甘特图-流程管理思维导图-方案讨论原型图-活动文档 明确责任制 分工明确&#xff0c;关键环境有主负责人通过时间倒推督促管理 沟通技巧 明确共同利益以结果激励做好信息同步 如何进行监控活动效果 监控活动的效果是要监控数据 活动每个环境的…

桌面文件删除了怎么恢复?恢复文件,3个小秘诀!

在日常使用电脑的过程中&#xff0c;很多用户会习惯性的将文件保存在电脑桌面上。因此不可避免会出现桌面文件丢失的情况。这或许会对我们的工作和学习造成影响。 桌面文件删除了怎么恢复&#xff1f;如果你还没有掌握正确的恢复方法。记得继续往下看&#xff0c;下文有实用的…

linux 09 软件安装,YUM

下载软件时候&#xff0c;windows会从网上下载exe文件。 windows中的exe文件linux中的rpm文件 简介部分&#xff1a; 其中的认识RPM包&#xff1a; 管理RPM包&#xff1a; 其中的YUM&#xff1a; YUM&#xff08;软件包管理工具&#xff09; 01.YUM工具简介 02.使用YUM 第…

报表生成器FastReport .Net用户指南:报表中的总计

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案&#xff0c;使用FastReport .NET可以创建独立于应用程序的.NET报表&#xff0c;同时FastReport .Net支持中文、英语等14种语言&#xff0c;可以让你的产品保证真正的国际性。 FastReport.NET官方版…

Netty Review - NIO空轮询及Netty的解决方案源码分析

文章目录 Pre问题说明NIO CodeNetty是如何解决的&#xff1f;源码分析入口源码分析selectCntselectRebuildSelector Pre Netty Review - ServerBootstrap源码解析 Netty Review - NioServerSocketChannel源码分析 Netty Review - 服务端channel注册流程源码解析 问题说明 N…