首页
前端面试题
前端报错总结
电子书
更多
插件下载
Search
1
JavaScript基础(二)操作符 流程控制
42 阅读
2
HTML基础
20 阅读
3
Vue基础
17 阅读
4
wctype.h
14 阅读
5
Vue2(知识点)
13 阅读
默认分类
HTML CSS
HTML基础
CSS
HTML5 CSS3
javaScript
javaScript基础
javaScript高级
Web APIs
jQuery
js小总结
WEB开发布局
Vue
PS切图
数据可视化
Git使用
Uniapp
c语言入门
标准库
嵌入式
登录
Search
liuxiaobai
累计撰写
108
篇文章
累计收到
12
条评论
首页
栏目
默认分类
HTML CSS
HTML基础
CSS
HTML5 CSS3
javaScript
javaScript基础
javaScript高级
Web APIs
jQuery
js小总结
WEB开发布局
Vue
PS切图
数据可视化
Git使用
Uniapp
c语言入门
标准库
嵌入式
页面
前端面试题
前端报错总结
电子书
插件下载
搜索到
104
篇与
的结果
2021-09-17
JavaScript基础(二)操作符 流程控制
JavaScript基础第02天1 - 运算符(操作符)1.1 运算符的分类运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。JavaScript中常用的运算符有:算数运算符递增和递减运算符比较运算符逻辑运算符赋值运算符1.2 算数运算符算术运算符概述概念:算术运算使用的符号,用于执行两个变量或值的算术运算。浮点数的精度问题浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004 console.log(0.07 * 100); // 结果不是 7, 而是:7.000000000000001所以:不要直接判断两个浮点数是否相等 !表达式和返回值表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合简单理解:是由数字、运算符、变量等组成的式子表达式最终都会有一个结果,返回给开发者,称为返回值1.3 递增和递减运算符递增和递减运算符概述如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减( -- )运算符来完成。在 JavaScript 中,递增(++)和递减( -- )既可以放在变量前面,也可以放在变量后面。放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。注意:递增和递减运算符必须和变量配合使用。递增运算符前置递增运算符++num 前置递增,就是自加1,类似于 num = num + 1,但是 ++num 写起来更简单。使用口诀:先自加,后返回值var num = 10; alert(++num + 10); // 21后置递增运算符num++ 后置递增,就是自加1,类似于 num = num + 1 ,但是 num++ 写起来更简单。使用口诀:先返回原值,后自加var num = 10; alert(10 + num++); // 201.4 比较运算符比较运算符概述概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。等号比较console.log(18 == '18'); console.log(18 === '18'); 1.5 逻辑运算符逻辑运算符概述概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断逻辑与&&两边都是 true才返回 true,否则返回 false逻辑或 ||两边都是 true才返回 true,否则返回 false逻辑非 !逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 falsevar isOk = !true; console.log(isOk); // false短路运算(逻辑中断)短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值;逻辑与语法: 表达式1 && 表达式2如果第一个表达式的值为真,则返回表达式2如果第一个表达式的值为假,则返回表达式1 console.log( 123 && 456 ); // 456 console.log( 0 && 456 ); // 0 console.log( 123 && 456&& 789 ); // 789逻辑或语法: 表达式1 || 表达式2如果第一个表达式的值为真,则返回表达式1如果第一个表达式的值为假,则返回表达式2console.log( 123 || 456 ); // 123 console.log( 0 || 456 ); // 456 console.log( 123 || 456 || 789 ); // 1231.6 赋值运算符概念:用来把数据赋值给变量的运算符。var age = 10; age += 5; // 相当于 age = age + 5; age -= 5; // 相当于 age = age - 5; age *= 10; // 相当于 age = age * 10;1.7 运算符优先级一元运算符里面的逻辑非优先级很高逻辑与比逻辑或优先级高2 - 流程控制2.1 流程控制概念在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。简单理解:流程控制就是来控制代码按照一定结构顺序来执行 流程控制主要有三种结构,分别是顺序结构、分支结构和循环结构,代表三种代码执行的顺序。2.2 顺序流程控制 顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。2.3 分支流程控制分支结构由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果JS 语言提供了两种分支结构语句:if 语句、switch 语句if 语句语法结构// 条件成立执行代码,否则什么也不做 if (条件表达式) { // 条件成立执行的代码语句 }语句可以理解为一个行为,循环语句和分支语句就是典型的语句。一个程序由很多个语句组成,一般情况下,会分割成一个一个的语句。执行流程if else语句(双分支语句)语法结构// 条件成立 执行 if 里面代码,否则执行else 里面的代码 if (条件表达式) { // [如果] 条件成立执行的代码 } else { // [否则] 执行的代码 } 执行流程if else if 语句(多分支语句)语法结构// 适合于检查多重条件。 if (条件表达式1) { 语句1; } else if (条件表达式2) { 语句2; } else if (条件表达式3) { 语句3; .... } else { // 上述条件都不成立执行此处代码 } 执行逻辑2.4 三元表达式语法结构表达式1 ? 表达式2 : 表达式3;执行思路如果表达式1为 true ,则返回表达式2的值,如果表达式1为 false,则返回表达式3的值简单理解: 就类似于 if else (双分支) 的简写2.5 switch分支流程控制语法结构switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用 switch。switch( 表达式 ){ case value1: // 表达式 等于 value1 时要执行的代码 break; case value2: // 表达式 等于 value2 时要执行的代码 break; default: // 表达式 不等于任何一个 value 时要执行的代码 }switch :开关 转换 , case :小例子 选项关键字 switch 后面括号内可以是表达式或值, 通常是一个变量关键字 case , 后跟一个选项的表达式或值,后面跟一个冒号switch 表达式的值会与结构中的 case 的值做比较如果存在匹配全等(===) ,则与该 case 关联的代码块会被执行,并在遇到 break 时停止,整个 switch 语句代码执行结束如果所有的 case 的值都和表达式的值不匹配,则执行 default 里的代码注意: 执行case 里面的语句时,如果没有break,则继续执行下一个case里面的语句。switch 语句和 if else if 语句的区别一般情况下,它们两个语句可以相互替换switch...case 语句通常处理 case为比较确定值的情况, 而 if…else…语句更加灵活,常用于范围判断(大于、等于某个范围)switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而if…else 语句有几种条件,就得判断多少次。当分支比较少时,if… else语句的执行效率比 switch语句高。当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。
2021年09月17日
42 阅读
2 评论
0 点赞
2021-09-16
JavaScript基础(一)简介 变量和数据类型
JavaScript基础第01天1 - 编程语言1.1 编程编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。计算机程序:就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌握的语言来编写的,所以人们要控制计算机一定要通过计算机语言向计算机发出命令。1.2 计算机语言计算机语言指用于人与计算机之间通讯的语言,它是人与计算机之间传递信息的媒介。计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言和高级语言三大类。实际上计算机最终所执行的都是 机器语言,它是由“0”和“1”组成的二进制数,二进制是计算机语言的基础。1.3 编程语言编程语言: 可以通过类似于人类语言的“语言”来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。编程语言是用来控制计算机的一系列指令,它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守。如今通用的编程语言有两种形式:汇编语言和高级语言。语言类型说明汇编语言汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆。高级语言高级语言主要是相对于低级语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,常用的有C语言、C++、Java、C#、Python、PHP、JavaScript、Go语言、Objective-C、Swift等。1.4 翻译器 高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,为此,我们需要一个翻译器。翻译器可以将我们所编写的源代码转换为机器语言,这也被称为二进制化。1.5 编程语言和标记语言区别语言说明编程语言编程语言有很强的逻辑和行为能力。在编程语言里, 你会看到很多 if else 、for 、while等具有逻辑性和行为能力的指令,这是主动的。标记语言标记语言(html)不用于向计算机发出指令,常用于格式化和链接。标记语言的存在是用来被读取的, 他是被动的。总结计算机可以帮助人类解决某些问题程序员利用编程语言编写程序发出指令控制计算机来实现这些任务编程语言有机器语言、汇编语言、高级语言高级语言需要一个翻译器转换为计算机识别的机器语言编程语言是主动的有很强的逻辑性2 - 计算机基础2.1 计算机组成2.2 数据存储计算机内部使用二进制 0 和 1来表示数据。所有数据,包括文件、图片等最终都是以二进制数据(0 和 1)的形式存放在硬盘中的。所有程序,包括操作系统,本质都是各种数据,也以二进制数据的形式存放在硬盘中。平时我们所说的安装软件,其实就是把程序文件复制到硬盘中。硬盘、内存都是保存的二进制数据。2.3 数据存储单位大小关系:bit < byte < kb < GB < TB<.....位(bit): 1bit 可以保存一个 0 或者 1 (最小的存储单位)字节(Byte):1B = 8b千字节(KB):1KB = 1024B兆字节(MB):1MB = 1024KB吉字节(GB): 1GB = 1024MB太字节(TB): 1TB = 1024GB2.4 程序运行计算机运行软件的过程:打开某个程序时,先从硬盘中把程序的代码加载到内存中CPU执行内存中的代码 注意:之所以要内存的一个重要原因,是因为 cpu运行太快了,如果只从硬盘中读数据,会浪费cpu性能,所以,才使用存取速度更快的内存来保存运行时的数据。(内存是电,硬盘是机械)3 - 初始JavaScript3.1 JavaScript 是什么JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行现在也可以基于 Node.js 技术进行服务器端编程3.2 JavaScript的作用表单动态校验(密码强度检测) ( JS 产生最初的目的 )网页特效服务端开发(Node.js)桌面程序(Electron)App(Cordova)控制硬件-物联网(Ruff)游戏开发(cocos2d-js)3.3 HTML/CSS/JS 的关系3.4 浏览器执行 JS 简介浏览器分成两部分:渲染引擎和 JS 引擎 浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以 JavaScript 语言归为脚本语言,会逐行解释执行。3.5 JS 的组成ECMAScript ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。 ECMAScript:规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。更多参看MDN: MDN手册DOM——文档对象模型 文档对象模型(DocumentObject Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)BOM——浏览器对象模型 浏览器对象模型(Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。3.6 JS 初体验 JS 有3种书写位置,分别为行内、内嵌和外部。行内式<input type="button" value="点我试试" onclick="alert('Hello World')" />可以将单行或少量 JS 代码写在HTML标签的事件属性中(以 on 开头的属性),如:onclick注意单双引号的使用:在HTML中我们推荐使用双引号, JS 中我们推荐使用单引号可读性差, 在html中编写JS大量代码时,不方便阅读;引号易错,引号多层嵌套匹配时,非常容易弄混;特殊情况下使用内嵌式<script> alert('Hello World~!'); </script>可以将多行JS代码写到 script 标签中内嵌 JS 是学习时常用的方式外部JS文件<script src="my.js"></script>利于HTML页面代码结构化,把大段 JS代码独立到 HTML 页面之外,既美观,也方便文件级别的复用引用外部 JS文件的 script 标签中间不可以写代码适合于JS 代码量比较大的情况4 - JavaScript注释4.1 单行注释为了提高代码的可读性,JS与CSS一样,也提供了注释功能。JS中的注释主要有两种,分别是 单行注释 和 多行注释。单行注释的注释方式如下:// 我是一行文字,不想被 JS引擎 执行,所以 注释起来 // 用来注释单行文字( 快捷键 ctrl + / )4.2 多行注释多行注释的注释方式如下:/* 获取用户年龄和姓名 并通过提示框显示出来 *//* */ 用来注释多行文字( 默认快捷键 alt + shift + a ) 快捷键修改为: ctrl + shift + /vscode → 首选项按钮 → 键盘快捷方式 → 查找 原来的快捷键 → 修改为新的快捷键 → 回车确认5 - JavaScript输入输出语句为了方便信息的输入输出,JS中提供了一些输入输出语句,其常用的语句如下:方法说明归属alert(msg)浏览器弹出警示框浏览器console.log(msg)浏览器控制台打印输出信息浏览器prompt(info)浏览器弹出输入框,用户可以输入浏览器注意:alert() 主要用来显示消息给用户,console.log() 用来给程序员自己看运行时的消息。6 - 变量的概念6.1 什么是变量白话:变量就是一个装东西的盒子。通俗:变量是用于存放数据的容器。 我们通过 变量名 获取数据,甚至数据可以修改。6.2 变量在内存中的存储 本质:变量是程序在内存中申请的一块用来存放数据的空间。类似我们酒店的房间,一个房间就可以看做是一个变量。 7 - 变量的使用变量的声明变量的赋值7.1 声明变量// 声明变量 var age; // 声明一个 名称为age 的变量 var 是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管age 是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间7.2 赋值age = 10; // 给 age 这个变量赋值为 10 = 用来把右边的值赋给左边的变量空间中 此处代表赋值的意思变量值是程序员保存到变量空间里的值7.3 变量的初始化var age = 18; // 声明变量同时赋值为 18 // 声明一个变量并赋值, 我们称之为变量的初始化。7.4 变量语法扩展更新变量 一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。 var age = 18; age = 81; // 最后的结果就是81因为18 被覆盖掉了 同时声明多个变量 同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。 var age = 10, name = 'zs', sex = 2; 声明变量特殊情况情况说明结果var age ; console.log (age);只声明 不赋值undefinedconsole.log(age)不声明 不赋值 直接使用报错age = 10; console.log (age);不声明 只赋值107.5 变量命名规范规则:由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:usrAge, num01, _name严格区分大小写。var app; 和 var App; 是两个变量不能 以数字开头。 18age 是错误的不能 是关键字、保留字。例如:var、for、while变量名必须有意义。 MMD BBD nl → age遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。myFirstName推荐翻译网站: 有道 爱词霸8 - 数据类型8.1 数据类型简介为什么需要数据类型 在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。 简单来说,数据类型就是数据的类别型号。比如姓名“张三”,年龄18,这些数据的类型是不一样的。变量的数据类型 变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。JavaScript 是一种弱类型或者说动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定: var age = 10; // 这是一个数字型 var areYouOk = '是的'; // 这是一个字符串 在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定了数据类型。JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型:var x = 6; // x 为数字 var x = "Bill"; // x 为字符串 数据类型的分类 JS 把数据类型分为两类:简单数据类型 (Number,String,Boolean,Undefined,Null)复杂数据类型 (object)8.2 简单数据类型简单数据类型(基本数据类型)JavaScript 中的简单数据类型及其说明如下:数字型 Number JavaScript 数字类型既可以保存整数,也可以保存小数(浮点数)。 var age = 21; // 整数 var Age = 21.3747; // 小数 数字型进制最常见的进制有二进制、八进制、十进制、十六进制。 // 1.八进制数字序列范围:0~7 var num1 = 07; // 对应十进制的7 var num2 = 019; // 对应十进制的19 var num3 = 08; // 对应十进制的8 // 2.十六进制数字序列范围:0~9以及A~F var num = 0xA; 现阶段我们只需要记住,在JS中八进制前面加0,十六进制前面加 0x数字型范围JavaScript中数值的最大和最小值最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308最小值:Number.MIN_VALUE,这个值为:5e-32数字型三个特殊值Infinity ,代表无穷大,大于任何数值-Infinity ,代表无穷小,小于任何数值NaN ,Not a number,代表一个非数值isNaN用来判断一个变量是否为非数字的类型,返回 true 或者 false var usrAge = 21; var isOk = isNaN(userAge); console.log(isNum); // false ,21 不是一个非数字 var usrName = "andy"; console.log(isNaN(userName));// true ,"andy"是一个非数字字符串型 String 字符串型可以是引号中的任意文本,其语法为 双引号 "" 和 单引号'' var strMsg = "我爱北京天安门~"; // 使用双引号表示字符串 var strMsg2 = '我爱吃猪蹄~'; // 使用单引号表示字符串 // 常见错误 var strMsg3 = 我爱大肘子; // 报错,没使用引号,会被认为是js代码,但js没有这些语法 因为 HTML 标签里面的属性使用的是双引号,JS 这里我们更推荐使用单引号。字符串引号嵌套 JS 可以用单引号嵌套双引号 ,或者用双引号嵌套单引号 (外双内单,外单内双) var strMsg = '我是"高帅富"程序猿'; // 可以用''包含"" var strMsg2 = "我是'高帅富'程序猿"; // 也可以用"" 包含'' // 常见错误 var badQuotes = 'What on earth?"; // 报错,不能 单双引号搭配字符串转义符 类似HTML里面的特殊字符,字符串中也有特殊字符,我们称之为转义符。 转义符都是 \ 开头的,常用的转义符及其说明如下:转义符解释说明\n换行符,n 是 newline 的意思\ \斜杠 \\'' 单引号\"”双引号\ttab 缩进\b空格 ,b 是 blank 的意思字符串长度 字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过字符串的 length 属性可以获取整个字符串的长度。 var strMsg = "我是帅气多金的程序猿!"; alert(strMsg.length); // 显示 11字符串拼接多个字符串之间可以使用 + 进行拼接,其拼接方式为 字符串 + 任何类型 = 拼接之后的新字符串拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串 //1.1 字符串 "相加" alert('hello' + ' ' + 'world'); // hello world //1.2 数值字符串 "相加" alert('100' + '100'); // 100100 //1.3 数值字符串 + 数值 alert('11' + 12); // 1112 + 号总结口诀:数值相加 ,字符相连字符串拼接加强 console.log('pink老师' + 18); // 只要有字符就会相连 var age = 18; console.log('pink老师age岁啦'); // 这样不行哦 console.log('pink老师' + age); // pink老师18 console.log('pink老师' + age + '岁啦'); // pink老师18岁啦经常会将字符串和变量来拼接,变量可以很方便地修改里面的值变量是不能添加引号的,因为加引号的变量会变成字符串如果变量两侧都有字符串拼接,口诀“引引加加 ”,删掉数字,变量写加中间布尔型Boolean 布尔类型有两个值:true 和 false ,其中 true 表示真(对),而 false 表示假(错)。 布尔型和数字型相加的时候, true 的值为 1 ,false 的值为 0。console.log(true + 1); // 2 console.log(false + 1); // 1Undefined和 Null 一个声明后没有被赋值的变量会有一个默认值undefined ( 如果进行相连或者相加时,注意结果) var variable; console.log(variable); // undefined console.log('你好' + variable); // 你好undefined console.log(11 + variable); // NaN console.log(true + variable); // NaN 一个声明变量给 null 值,里面存的值为空(学习对象时,我们继续研究null) var vari = null; console.log('你好' + vari); // 你好null console.log(11 + vari); // 11 console.log(true + vari); // 18.3 获取变量数据类型获取检测变量的数据类型 typeof 可用来获取检测变量的数据类型 var num = 18; console.log(typeof num) // 结果 number 不同类型的返回值字面量 字面量是在源代码中一个固定值的表示法,通俗来说,就是字面量表示如何表达这个值。数字字面量:8, 9, 10字符串字面量:'黑马程序员', "大前端"布尔字面量:true,false8.4 数据类型转换 什么是数据类型转换? 使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另一种数据类型,通常会实现3种方式的转换:转换为字符串类型 转换为数字型 转换为布尔型转换为字符串toString() 和 String() 使用方式不一样。三种转换方式,更多第三种加号拼接字符串转换方式, 这一种方式也称之为隐式转换。转换为数字型(重点)注意 parseInt 和 parseFloat 单词的大小写,这2个是重点隐式转换是我们在进行算数运算的时候,JS 自动转换了数据类型转换为布尔型代表空、否定的值会被转换为 false ,如 ''、0、NaN、null、undefined其余值都会被转换为 true console.log(Boolean('')); // false console.log(Boolean(0)); // false console.log(Boolean(NaN)); // false console.log(Boolean(null)); // false console.log(Boolean(undefined)); // false console.log(Boolean('小白')); // true console.log(Boolean(12)); // true9 - 解释型语言和编译型语言9.1 概述 计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器。翻译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同编译器是在代码执行之前进行编译,生成中间代码文件解释器是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器)9.2 执行过程类似于请客吃饭: 编译语言:首先把所有菜做好,才能上桌吃饭 解释语言:好比吃火锅,边吃边涮,同时进行10 - 关键字和保留字10.1 标识符标识(zhi)符:就是指开发人员为变量、属性、函数、参数取的名字。 标识符不能是关键字或保留字。10.2 关键字 关键字:是指 JS本身已经使用了的字,不能再用它们充当变量名、方法名。 包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with 等。10.3 保留字 保留字:实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。 包括:boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile 等。 注意:如果将保留字用作变量名或函数名,那么除非将来的浏览器实现了该保留字,否则很可能收不到任何错误消息。当浏览器将其实现后,该单词将被看做关键字,如此将出现关键字错误。
2021年09月16日
8 阅读
0 评论
0 点赞
2021-09-16
移动端WEB开发之响应式布局
移动端WEB开发之响应式布局1.0 响应式开发原理1.1 响应式开发原理就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的。设备的划分情况:小于768的为超小屏幕(手机)768~992之间的为小屏设备(平板)992~1200的中等屏幕(桌面显示器)大于1200的宽屏设备(大桌面显示器)1.2 响应式布局容器响应式需要一个父级做为布局容器,来配合子级元素来实现变化效果。原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不同的页面布局和样式变化。父容器版心的尺寸划分超小屏幕(手机,小于 768px):设置宽度为 100%小屏幕(平板,大于等于 768px):设置宽度为 750px中等屏幕(桌面显示器,大于等于 992px):宽度设置为 970px大屏幕(大桌面显示器,大于等于 1200px):宽度设置为 1170px但是我们也可以根据实际情况自己定义划分2.0 bootstrap的介绍2.1Bootstrap简介Bootstrap 来自 Twitter(推特),是目前最受欢迎的前端框架。Bootstrap 是基于HTML、CSS 和 JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。中文网 官网 推荐网站框架:顾名思义就是一套架构,它有一套比较完整的网页功能解决方案,而且控制权在框架本身,有预制样式库、组件和插件。使用者要按照框架所规定的某种规范进行开发。2.2 bootstrap优点标准化的html+css编码规范提供了一套简洁、直观、强悍的组件有自己的生态圈,不断的更新迭代让开发更简单,提高了开发的效率2.3 版本简介2.x.x:停止维护,兼容性好,代码不够简洁,功能不够完善。3.x.x:目前使用最多,稳定,但是放弃了IE6-IE7。对 IE8 支持但是界面效果不好,偏向用于开发响应式布局、移动设备优先的WEB 项目。4.x.x:最新版,目前还不是很流行2.4bootstrap基本使用在现阶段我们还没有接触JS相关课程,所以我们只考虑使用它的样式库。Bootstrap 使用四步曲:创建文件夹结构创建 html 骨架结构<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! --> <title>Bootstrap 101 Template</title> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet"> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <h1>你好,世界!</h1> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> </body> </html>引入相关样式文件<!-- Bootstrap 核心样式--> <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">书写内容 直接拿Bootstrap 预先定义好的样式来使用修改Bootstrap 原来的样式,注意权重问题学好Bootstrap 的关键在于知道它定义了哪些样式,以及这些样式能实现什么样的效果2.5 bootstrap布局容器Bootstrap 需要为页面内容和栅格系统包裹一个 .container 或者.container-fluid 容器,它提供了两个作此用处的类。.container响应式布局的容器 固定宽度大屏 ( >=1200px) 宽度定为 1170px中屏 ( >=992px) 宽度定为 970px小屏 ( >=768px) 宽度定为 750px超小屏 (100%).container-fluid流式布局容器 百分百宽度占据全部视口(viewport)的容器。2.6 bootstrap栅格系统Bootstrap提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中。按照不同屏幕划分为1~12 等份行(row) 可以去除父容器作用15px的边距xs-extra small:超小; sm-small:小; md-medium:中等; lg-large:大;列(column)大于 12,多余的“列(column)”所在的元素将被作为一个整体另起一行排列每一列默认有左右15像素的 padding可以同时为一列指定多个设备的类名,以便划分不同份数 例如 class="col-md-4 col-sm-6"栅格嵌套栅格系统内置的栅格系统将内容再次嵌套。简单理解就是一个列内再分成若干份小列。我们可以通过添加一个新的 .row 元素和一系列 .col-sm- 元素到已经存在的 .col-sm-元素内。<!-- 列嵌套 --> <div class="col-sm-4"> <div class="row"> <div class="col-sm-6">小列</div> <div class="col-sm-6">小列</div> </div> </div> 列偏移使用 .col-md-offset- 类可以将列向右侧偏移。这些类实际是通过使用 选择器为当前元素增加了左侧的边距(margin)。 <!-- 列偏移 --> <div class="row"> <div class="col-lg-4">1</div> <div class="col-lg-4 col-lg-offset-4">2</div> </div> 列排序通过使用 .col-md-push- 和 .col-md-pull- 类就可以很容易的改变列(column)的顺序。 <!-- 列排序 --> <div class="row"> <div class="col-lg-4 col-lg-push-8">左侧</div> <div class="col-lg-8 col-lg-pull-4">右侧</div> </div> 响应式工具为了加快对移动设备友好的页面开发工作,利用媒体查询功能,并使用这些工具类可以方便的针对不同设备展示或隐藏页面内容。3.0 阿里百秀案例制作3.1 技术选型方案:我们采取响应式页面开发方案技术:bootstrap框架设计图: 本设计图采用 1280px 设计尺寸项目结构搭建Bootstrap 使用四步曲:创建文件夹结构创建 html 骨架结构引入相关样式文件书写内容container宽度修改因为本效果图采取 1280的宽度, 而Bootstrap 里面 container宽度 最大为 1170px,因此我们需要手动改下container宽度 /* 利用媒体查询修改 container宽度适合效果图宽度 */ @media (min-width: 1280px) { .container { width: 1280px; } }
2021年09月16日
6 阅读
0 评论
0 点赞
1
...
30
31
32
...
35