JavaScript高级
JavaScript高级1、作用域1.1 局部作用域作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问,
作用域分为:
(1)局部作用域
(2)全局作用域
局部作用域分为函数作用域和块作用域。
(1) 函数作用域
在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。
123456总结:1. 函数内部声明的变量,在函数外部无法被访问2. 函数的参数也是函数内部的局部变量3. 不同函数内部声明的变量无法互相访问4. 函数执行完毕后,函数内部的变量实际被清空了
(2)块级作用域
在 JavaScript 中使用 { } 包裹的代码称为代码块,代码块内部声明的变量外部将【有可能】无法被访问
123456总结:1. let 声明的变量会产生块作用域,var 不会产生块作用域2. const 声明的常量也会产生块作用域3. 不同代码块之间的变量无法互相访问4. 推荐使用 let 或 const
1.2 全局作用域<script> 标签 和.js文件 的【最外层】就是所谓的全局作用域,在此声明的变量在函数内部也可以被访问。
全局作用 ...
Web APIs
Web APIs思考:
1234567891011变量声明有三个 var let 和 const 我们应该用那个呢?首先var 先排除,老派写法,问题很多,可以淘汰掉…let or const ?建议: const 优先,尽量使用const,原因是:const 语义化更好很多变量我们声明的时候就知道他不会被更改了,那为什么不用 const呢?实际开发中也是,比如react框架,基本const如果你还在纠结,那么我建议:有了变量先给const,如果发现它后面是要被修改的,再改为let
1、作用与分类作用: 就是使用 JS 去操作 html 和浏览器
分类:DOM (文档对象模型)、BOM(浏览器对象模型)
2、什么是DOM12345DOM(Document Object Model——文档对象模型)是用来呈现以及与任意 HTML 或 XML文档交互的API白话文:DOM是浏览器提供的一套专门用来 操作网页内容 的功能DOM作用 开发网页内容特效和实现用户交互
3、DOM树123456DOM树是什么 将 HTML 文档以树状结构直观的表现出来,我们称之为文档树或 DOM ...
JavaScript基础
JavaScript一、JavaScript基础1、JavaScript 介绍1.1 JavaScript 是什么是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。
作用(做什么?)
(1)–网页特效 (监听用户的一些行为让网页作出对应的反馈)
(2)–表单验证 (针对表单数据的合法性进行判断)
(3) –数据交互 (获取后台的数据, 渲染到前端) ajax
(4) –服务端编程 (node.js)
JavaScript的组成(有什么?)
1234567ECMAScript: 规定了js基础语法核心知识。 比如:变量、分支语句、循环语句、对象等等Web APIs : DOM 操作文档,比如对页面元素进行移动、大小、添加删除等操作 BOM 操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等
JavaScript****权威网站: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
1.2 JavaScript 书写位置
内部 JavaScript
1234直 ...
CSS
一、CSS简介CSS 的主要使用场景就是美化网页,布局页面的.
HTML 的局限性
说起 HTML,这其实是个非常单纯的家伙,他只关注内容的语义。比如 <h1> 表明这是一个大标题,<p> 表明这是一个段落,<img> 表明这儿有一个图片,<a> 表示此处有链接。 很早的时候,世界上的网站虽然很多,但是他们都有一个共同的特点:丑。 虽然 HTML 可以做简单的样式,但是带来的是无尽的臃肿和繁琐…… ,例如想控制表格中每行的高度,如果安装HTML添加属性的方式来进行设置,非常的麻烦。
CSS-网页的美容师
CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称. 有时我们也会称之为 CSS 样式表或级联样式表。 CSS 是也是一种标记语言 CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。 CSS 让我们的网页更加丰富多彩,布局更加灵活自如。简单理解:CSS 可以美化 HTML , 让 HTML 更漂亮, 让 ...
HTML
HTML一、网页描述什么是网页?
关于这块内容,在这里我会给你介绍两个概念。
第一个是“网站”,第二个是“网页”
首先先来看一下什么是“网站”?
“网站”,对我们来说是非常熟悉的,如果我现在想买一双鞋子,我可以去“淘宝”这个网站去购买,也可以去“京东”这个网站购买
当输入https://www.baidu.com这个网址以后,打开的第一个页面称作”首页”
当我们在‘首页’中单击文字或者是图片的时候,会打开另外的网页,所以说‘网站’就是这些网页的集合,也就说‘网站’是有很多很多的‘网页’构成。
而‘网页’就是网站中的一“页”,它是构成网站的基本元素。
网页中都会有哪些元素呢?
网页中会有图片,文字,视频,音频等元素组成。
但是,这里还有一个非常重要的元素,是‘链接’
什么是链接呢?
‘链接’指的就是在某个网页中单击文字或者是图片的时候,可以打开另外一个网页,那么这就表明这两个网页建立了一种连接的关系,这就是‘链接’。
也就是说,我们的网站就是通过‘链接’将很多很多的网页进行了连接组合而成的
二、HTML简介HTML指的是超文本标记语言(Hyper Text Markup Language ...
Entity Framework Core
Entity Framework CoreEntity Framework Core(简称EF Core)是.Net Core中的ORM框架,它可以让开发人员以面向对象的方式进行数据库的操作,从而大大的提升了开发的效率。
1、什么是ORM?ORM(object relational mapping,对象关系映射).
对象:指的就是C#中的对象,而“关系”指的就是关系数据库,“映射”:指的就是在关系数据库和c#对象之间搭建一座桥梁,能够让对象模型与关系数据库的表结构之间进行相互转换。我们知道,在.Net中可以通过Ado.net链接数据库然后执行SQL语句来从操作数据库中的数据。而ORM可以让我们通过操作C#对象的方式来操作数据库,比如,使用ORM,可以通过创建C#对象的方式把数据插入到数据库中,而不需要编写Insert语句。如下伪代码所示:
12UserInfo userInfo = new UserInfo(){UserName="laowang",Password = "123"};orm.Save(userInfo);
...
日志系统
日志系统1、什么是日志日志(logging)是程序运行中的“黑匣子”,在程序出现问题以后,我们可以通过分析日志来查找问题。
在.Net core中日志可以被记录到控制台,同时还可以使用第三方提供的程序将日志记录到文件,日志服务器等。
日志的级别:
NLog,Log4Net
123456Critical:最高级别,生死攸关,系统即将崩溃。Error:错误,优先级别仅次于Critial,例如:数据库链接失败Warning:警告,有可能会出现问题,但不一定会出现问题。Information:用于跟踪应用程序的常规流Debug:表示在开发和调试过程中短期有用的信息Trace:最详细的日志,可能包含敏感信息,不建议在生产环境中使用
级别的使用情况,可以根据个人的具体情况来确定使用。
例如:系统正在链接数据库,可以使用Information,记录链接这一过程,假设这里我们最多链接3次,但是第一次没有链接成功,这里可以使用Warning,表示可能会出现问题,如果最后一次链接也没有成功,可以使用Error,表示数据库彻底链接失败.
2、日志的基本使用在这一小结中,我们看一下怎样将日志输出到控制台中。 ...
配置系统
配置系统在专业的软件项目中,一些配置项的值应该是可以修改的,我们不应该把这些值硬编码到代码中,.NET Core中提供了非常强大的配置系统以简化配置相关代码的编写方法。
1、配置系统的基本使用在传统软件开发中,我们一般把数据库连接字符串等配置项放到配置文件中,比如.NET Framework中的Web.config文件,这样如果需要修改程序连接的数据库,我们只要修改配置文件就可以了.
在.Net core中不推荐使用Web.config了。
但是在.Net core中的配置系统支持非常丰富的配置方式,例如文件配置(JSON,XML,INI等),注册表,环境变量,命令行等。
.Net core中读取配置文件中的内容,我们可以通过IConfigurationRoot读取配置信息。
下面来看一下基本的使用。
首先,在项目的跟目录下面添加一个JSON文件,如文件名为config.json,该文件中的内容如下所示:
1234567{ "name": "laowang", "proxy": { " ...
依赖注入
依赖注入一、依赖注入与控制反转是什么控制反转(inversion of control,IoC)是设计模式中非常重要的思想,而依赖注入(dependency injection,DI)是控制反转思想的一种重要的实现方式
IOC:控制反转,是一个理论,概念,思想。描述的:把对象的创建,赋值,管理工作都交给代码之外的容器实现,也就是对象的创建是有其它外部资源完成
控制:创建对象,对象的属性赋值,对象之间的关系管理。
反转:把原来的开发人员管理,创建对象的权限转移给代码之外的容器实现。由容器代替开发人员管理对象。创建对象,给属性赋值。
在传统的软件开发中,代码依赖的对象都是由调用者自己编写代码进行创建和组装的.
如下代码:
123var connStr = ConfigurationManager.ConnectionStrings["connStr1"] ConnectionString;SqlConnection conn = new SqlConnection(connStr);
以上的代码是数据库的链接代码,通常我们都会写到一个配置文件中。
这里我们自己获取配置 ...
Linq
1、LinqLinq是.net core中提供的一种简化的数据查询的技术。使用Linq,可以实现几行代码就可以完成复杂的数据查询。
Linq不仅可以对普通的.Net集合进行查询,而且在Entiy Framework Core 中也被广泛的使用,所以必须熟练掌握``Linq
一、 Lambda表达式1、委托复习Lambda表达式是C#中的语法,Lambda表达式在LINQ、ASP.NET Core等很多场合都用得非常多.
要理解Lambda表达式,先要说一下委托。
委托是一种可以指向方法的类型。
如下面的代码所示:
1234567891011121314151617MyDelegate d1 = SayEnglish;MyDelegate d2 = SayChinese;string age1 = d1(18);string age2 = d2(20);Console.WriteLine(age1);Console.WriteLine(age2);static string SayEnglish(int age){ return $"My Age is { ...