Web前端开发之JavaScript_1

  • JavaScript简介
  • JavaScript语句、标识符
  • 变量
  • JavaScript 引入到文件
  • JavaScript 注释与常见输出方式
  • 数据类型与typeof运算符
  • 基本运算符

1. JavaScript 简介

        JavaScript是一种轻量级的脚本语言。所谓“脚本语言”,指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序的“脚本”。JavaScript是一种嵌入式语言,它本身提供的核心语法不算很多。

学习JavaScript的原因:

  • 操控浏览器的能力
  • 广泛的使用领域    前端、后端、小程序等
  • 易学性

        ECMAScript 和 JavaScript 的关系是:前者是后者的规格,后者是前者的一种实现,可互换

        2009年12月发布ECMAScript 5.0版本,2015年6月正式发布ECMAScript6.0

2. JavaScript 语句、标识符

  • 语句:JS程序的单位是行,一般情况下,每一行是一个语句

 var num = 10;

  • 标识符:用来识别各种值的合法名称。最常见的标识符就是变量名。标识符由字母$下划线数字组成不能以数字开头。保留关键字不能用作标识符。

3. 变量

  • 变量重新赋值

var num = 10;

num = 20;

  • 变量提升

         JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行行运行。这样的结果是所有的变量声明语句,都会被提升到代码的头部,就叫做变量提升。

:先打印后声明赋值,实际执行会将声明提升到头部,但赋值不会,因此显示undefined

4. JavaScript 引入到文件

  • 嵌入到HTML文件中

<body>

        <script>

                var age = 20;

        </script>

</body>

  • 引入本地独立JS文件

<body>

        <script type="text/javascript" src="./index.js"> </script>

</body>

  • 引入网络来源文件

<body>

        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.map"></script>

</body>

5. JavaScript 注释与常见输出方式

5.1 JavaScript注释 ctrl + /

        源码中注释是不被引擎所解释的,它的作用是对代码进行解释。JS提供两种注释写法:单行注释,用 // 开头;多行注释,放在 / 和 /之间。

//单行注释

/*
多行注释
*/

嵌入在HTML文件中的注释:

<!-- 注释 -->
 5.2 JavaScript输出方式

// 在浏览器中弹出一个对话框,把要输出的内容展示出来,alter 都是把要输出的内容转换为 字符串然后再输出的

alter("要输出的内容");

document.write("要输出的内容");

// 在控制台输出

console.log("要输出的内容");

6. 数据类型与typeof运算符

        JS语言的每个值都属于某一种数据类型。JavaScript的数据类型,共有六种。ES6又新增了第七种Symbol类型的值和第八种Bigint类型,暂不涉及。

6.1 基本数据类型(原始类型)

var age = 20;                        // 数值

var name = "张三";               // 字符串:被双引号或单引号包裹的值

var learn = true;                   // 布尔值

6.2 合成类型(复合类型object)

        对象:因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。

var user = {

        name:"张三",

        age:20,

        learn:true

}

  • undefined 和 null ,一般被看成两个特殊值
6.3. typeof运算符

        JS有三种方法,可以确定一个值的类型。typeof是其中的一种。

typeof 123                // 数值返回 number

typeof '123'              // 字符串返回 string

typeof false             // 布尔值返回 boolean        typeof 常用于判断基本数据类型

typeof {}                 // 对象返回 object   因为有很多会返回object,因此判断复合类型不准确

null 和 undefined 的区别

        null 和 undefined 都可以表示没有,含义相似。将一个变量赋值为 undefined 或 null,语法效果几乎没有区别。null 一般代表对象为空;undefined 一般代表数值为空

7. 基本运算符

7.1 算数运算符
  • 加减乘除运算符:+ - * /
  • 余数运算符:%
  • 自增自减运算符:++y、y++、--y、y-- 
7.2 赋值运算符
运算符表达式
=赋值运算符
+=x += y 等同于 x = x + y
-=x -= y 等同于 x = x - y
*=x *= y 等同于 x = x * y
/=x /= y 等同于 x = x / y
%=x %= y 等同于 x = x % y
7.3 比较运算符
运算符表达式
<小于
>大于
<=小于或等于
>=大于或等于
==相等(数值)
===严格相等(数值+类型)
!=不相等(数值)
!==严格不相等(数值+类型)

var num1 = 10;

var num2 = "10";

console.log(num1 == num2);          // true

// === 严格比较:数值本身是否相同,类型本身是否相同

console.log(num1 === num2);        //false

7.4 布尔运算符
  • 取反运算符

// 布尔值直接取反

// 非布尔值,取反运算符会将其转为布尔值。以下六个值取反后为true,其他值都为false

!undefined        // true

!null                   // true

!0                       // true

!false                 // true

!NaN                  // true

!""                     // 空字符串取反为 true

  • 且运算符 &&

console.log(10 < 20 && 10 > 5);        // true  任何一个不满足皆为false

  • 或运算符 ||

console.log(10 < 20 || 10 < 5);        // true  满足一个即为true

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微服务设计与解决方案 微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所以火热也是因为相对之前的应用开发方式有很多优点,如更灵活、更能适应现在需求快速变更的大环境。 本文将介绍微服务架构的演进、优缺点和微服务应用的设计原则,然后着重介绍作为一个"微服务应用平台"需要提供哪些能力、解决哪些问题才能更好的支撑企业应用架构。 微服务平台也是我目前正在参与的,还在研发过程中的平台产品,平台是以SpringCloud为基础,结合了普元多年来对企业应用的理解和产品的设计经验,逐步孵化的一个微服务应用平台。 目录: 一、微服务架构演进过程 二、微服务架构的好处 三、微服务应用4个设计原则 四、微服务架构带来的问题 五、微服务平台的19个落地实践 六、总结展望 微服务设计与解决方案全文共18页,当前为第1页。一、微服务架构演进过程 微服务设计与解决方案全文共18页,当前为第1页。 近年来我们大家都体会到了互联网、移动互联带来的好处,作为IT从业者,在生活中时刻感受互联网好处的同时,在工作中可能感受的却是来自自互联网的一些压力,那就是我们传统企业的IT建设也是迫切需要转型,需要面向外部客户,我们也需要应对外部环境的快速变化、需要快速创新,那么我们的IT架构也需要向互联网企业学习作出相应的改进,来支撑企业的数字化转型。 我们再看一下应用架构的演进过程,回忆一下微服务架构是如何一步一步进化产生的,最早是应用是单块架构,后来为了具备一定的扩展和可靠性,就有了垂直架构,也就是加了个负载均衡,接下来是前几年比较火的SOA,主要讲了应用系统之间如何集成和互通,而到现在的微服务架构则是进一步在探讨一个应用系统该如何设计才能够更好的开发、管理更加灵活高效。 微服务架构的基本思想就是"围绕业务领域组件来创建应用,让应用可以独立的开发、管理和加速"。 二、微服务架构的好处 微服务设计与解决方案全文共18页,当前为第2页。 微服务设计与解决方案全文共18页,当前为第2页。 我们总结了四个方面的优点,分别如下: 是每个微服务组件都是简单灵活的,能够独立部署。不再像以前一样,应用需要一个庞大的应用服务器来支撑。 可以由一个小团队负责更专注专业,相应的也就更高效可靠。 微服务之间是松耦合的,微服务内部是高内聚的,每个微服务很容易按需扩展。 微服务架构与语言工具无关,自由选择合适的语言和工具,高效的完成业务目标即可。 看到这里,大家会觉得微服务架构挺不错,然而还会有一些疑问,什么样的应用算是一个微服务架构的应用?该怎样设计一个微服务架构的应用?那我们来一起看看我们推荐的微服务应用的设计原则。 三、微服务应用4个设计原则 我们总结了四个原则推荐给大家: AKF拆分原则 前后端分离 无状态服务 Restful通信风格 1.AKF拆分原则 微服务设计与解决方案全文共18页,当前为第3页。 微服务设计与解决方案全文共18页,当前为第3页。 AKF扩展立方体(参考《The Art of Scalability》),是一个叫AKF的公司的技术专家抽象总结的应用扩展的三个维度。理论上按照这三个扩展模式,可以将一个单体系统,进行无限扩展。 X 轴 :指的是水平复制,很好理解,就是讲单体系统多运行几个实例,做个集群加负载均衡的模式。 Z 轴 :是基于类似的数据分区,比如一个互联网打车应用突然或了,用户量激增,集群模式撑不住了,那就按照用户请求的地区进行数据分区,北京、上海、四川等多建几个集群。 Y 轴 :就是我们所说的微服务的拆分模式,就是基于不同的业务拆分。 场景说明:比如打车应用,一个集群撑不住时,分了多个集群,后来用户激增还是不够用,经过分析发现是乘客和车主访问量很大,就将打车应用拆成了三个乘客服务、车主服务、支付服务。三个服务的业务特点各不相同,独立维护,各自都可以再次按需扩展。 2.前后端分离 前后端分离原则,简单来讲就是前端和后端的代码分离也就是技术上做分离,我们推荐的模式是最好直接采用物理分离的方式部署,进一步促使进行更彻底的分离。不要继续以前的服务端模板技术,比如JSP ,把Java JS HTML CSS 都堆到一个页面里,稍复杂的页面就无法维护。这种分离模式的方式有几个好处: 前后端技术分离,可以由各自的专家来对各自的领域进行优化,这样前端的用户体验优化效果会更好。 微服务设计与解决方案全文共18页,当前为第4页。分离模式下,前后端交互界面更加清晰,就剩下了接口和模型,后端的接口简洁明了,更容易维护。 微服务设计与解决方案全文共18页,当前为第4页。 前端多渠道集成场景更容易实现,后端服务无需变更,采用统一的数据和模型,可以支撑前端的web UI\ 移动App等访问。 3.无状态服务 对于无状态服务,首先说一下什么是状态:如果一个数据需要被多个服务共享,才能完成一

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值