JavaScript基础知识(概念、常量和变量)

JavaScript是脚本语言; 编写之后,可以一直运行(缺失了编译的经过)

.Net Framework 的咬合和各个部分的本子

咱用找到 .Net Framework
的本来面目,不然这么复杂的版本号系统真将自己干不灵了。

微软在 .NET Framework Versions and
Dependencies 中说到:

每个版本的 .NET framework 都含公共语言运行时
(CLR)、基础库和外托管库。

于是我们谈谈 .Net Framework 的本子其实应当分三独不等之有的来提:

每个新本子的 .NET Framework 都见面保留早期版本被的机能并会补充加新职能。
CLR 有该自己之本子号标识。 虽然 CLR 版本并无总是递增的,但 .NET
Framework 版本号在每次宣布时都见面递增。 例如,.NET Framework 4、4.5
和另行胜似版本包含 CLR 4,而 .NET Framework 2.0、3.0 和 3.5 包含 CLR 2.0。
(没有版本 3 的 CLR。)

由官文档给闹的表中我们得确信:.Net Framework 4.0/4.5/4.6/4.7
包含的 CLR 版本都是 4.0。

   ||                 ||                   ||                 ||

  • 本身将次第编译的目标框架选为 .Net Framework 4.7;在平贵设置了 .Net
    Framework 4.6 的电脑上提醒缺少 .Net Framework
    4.7;删除了仍编译一起变的 app.config 文件后先后能够正常运转。
  • 别一个序,我明确将顺序编译的靶子框架选为 .Net Framework
    4.5,但当同样雅没有设置任何额外 .Net Framework 的 Windows 7
    的计算机及提醒缺少的凡 .Net Framework 4.0。

因为字母、下划线-、美元符号$开始;   不为数字开;  
大写字母与小写字母并无闯;

部署支持之运行时

观测程序附带的 app.config 文件,我们发现支持之运作时本是 v4.0,sku
版本是 4.7。

<configuration>  
   <startup>  
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />  
   </startup>  
</configuration>  

疑点:

  1. 怎么咱们根据 .Net Framework 4.7 开发的程序运行时本是 4.0?
  2. sku 是什么?

微软的合法文档给了咱解答:supportedRuntime
Element。

  • version:用于指定此应用程序支持之集体语言运行时(CLR)的本子。
  • sku:stock-keeping
    unit(官方中文也“库存单位”,然而依然未掌握是词的意思),用于指定此应用程序支持之
    .Net Framework 发行本。

version 的值可取:

.NET Framework 版本 version 值
忽略早期版本 忽略早期版本
2.0 “v2.0.50727”
3.0 “v2.0.50727”
3.5 “v2.0.50727”
3.5 “v2.0.50727”
4.0-4.7 “v4.0”

sku 的值可取:

.NET Framework version sku 值
4.0 “.NETFramework,Version=v4.0”
忽略中间版本 忽略中间版本
4.5 “.NETFramework,Version=v4.5”
4.5.1 “.NETFramework,Version=v4.5.1”
4.5.2 “.NETFramework,Version=v4.5.2”
4.6 “.NETFramework,Version=v4.6”
4.6.1 “.NETFramework,Version=v4.6.1”
4.6.2 “.NETFramework,Version=v4.6.2”
4.7 “.NETFramework,Version=v4.7”

于是我们发现,其实无论我们用次第的目标框架选为 .Net Framework 的呐一个
4.x 版本,CLR 运行时都是故 v4.0 表示的。微软的描述是:

于支持 .NET Framework 4.0 或又胜版本的应用程序,version 属性指示 CLR
版本,这是 .NET Framework 4 及重新胜版本的通用版本,而 sku
属性指示应用程序所针对的单个 .NET Framework 版本。

实在看这里我们尽管可知生出一个类对的诠释:

  1. 无论是我们选择的目标框架是 .Net Framework 4.x 底哪一个本子,用于指定
    CLR 运行时本的 version 值都是 v4.0;
  2. CLR
    运行时见面因部署文件之 sku 值决定应该下那无异组运行库来为程序运行提供支持。

特点:允许可以屡屡的下具体的数码     
作用:允许重复使用某个具体的多少内容


在意: 就是一个特读(不能够改)的变量;常量称为习惯用全大写

CLR 的更新

而,不信赖微软的 CLR 可以完全没 BUG,既然 CLR 版本都是
4.0,那么微软对 CLR 运行时之翻新怎么处理?安装了 .Net Framework
4.5/4.6/4.7 会如何提升 CLR 的安澜与安全性?

在 Targeting and Running .NET Framework apps for version 4.5 and
later 中,解释了
CLR 的换代机制——就地更新(in-place update)。这篇稿子 .NET 4.5 is an
in-place replacement for .NET
4.0 对这种就地更新方式发出较官方文档更详实的解释,并且还附带自己之片考试(含代码)。不过文章是
2012 年写的,部分结论现在总的来说都不合时宜(因为于自的 Windows 10 配 .Net
Framework 4.7
上敲定已不相同),不过对自己知道就地更新自己非常有救助,也也后续考察提供了再度清的思绪。

微软本着 .Net Framework 4.x 框架就地更新的求证是:

.NET Framework 4.5 是代计算机及之 .NET Framework 4
的当庭更新,同样,.NET Framework 4.5.1 4.5.2、4.6、4.6.1、4.6.2 和 4.7
是对 .NET Framework 4.5
的当庭更新,这象征它将动用同一之运作时本,但是程序集版本会更新并包新路以及成员。
在设置其中某更新后,你的 .NET Framework 4.NET Framework 4.5 或 .NET
Framework 4.6 应用应持续运行,而随便需还编译。 但是,反过来则大。

也就是说,无论我们当付出时指定目标框架的版本是 4.x
的哇一个,在运转时,CLR 环境还是 4.0。但是乍的 .Net Framework
会带来更新版本的 CLR,这个 CLR 会直接调换掉旧的 CLR。.NET 4.5 is an
in-place replacement for .NET
4.0 文章中
.Net Framework 基础库也是就地更新的;但自我实在试验的状况是各国一个差的
.Net Framework 基础库有自己独立的文本夹,目前尚非亮堂是改变是自 .Net
Framework 的呐一个本子开始的,但必然是 4.5.1、4.5.2、4.6
这三单版被之一个。

图片 1

1、JavaScript概念

当我们编译程序目标框架选为 .Net Framework 4.5/4.6/4.7 时,CLR
运行时凡何等判断我们到底该为此哪一个 .Net Framework 呢?.Net Framework
的版到底由哪些有构成?我们编译 .Net Framework
时精选的本决定了哟?

 * JavaScript: 一行最好不过修一个口舌;   每个语句后面建议编写分号;

正文转载
  https://walterlv.github.io/dotnet/2017/09/22/dotnet-version.html ,感谢  吕毅
(包含链接: https://walterlv.github.io )

注:JavaScript语法内容参考Java语言;但“JavaScript是Java语言的脚本语言”是不当的

此处的谜在于为何以上两种植类似类似之动静,提示的框架版本也差。其中的 app.config 文件化了调研这个问题之突破口。

eg:console.log(test1);   — 报错  因为无定义test1

于自家本着之题材发出兴趣的因由是:

☞document.write(‘ ‘); 
测试的情节一直当页面被输出消息,可以描绘及html标签。

解决一开始之问号

遂,本文一开始之疑团就尽清晰了:

  1. 任凭是 .Net Framework 4.5 的尚是 4.7 的那么片单次,都是凭 4.0
    版本的官语言运行时(CLR)运行起来的;
  2. 若果没设置 4.0 版本的 CLR,则会弹来提示用安装 .Net Framework 4.0
    版本才能够运作,而不论是我们的主次目标框架是 .Net Framework 4.x
    之啦一个本;

    • 则说文案说的凡 .Net Framework,但实则用之是 CLR
  3. 比方都装有 4.0 版本的 CLR(可能随 .Net Framework 4.5/4.6
    安装),我们先后的靶子框架是 .Net Framework 4.7,但 .Net Framework
    基础库并没装 4.7 版本,则运行时见面唤醒用设置 .Net Framework
    4.7;

    • 夫提示是 4.0 版的 CLR
      弹出之,是根据 supportedRuntime 中指定的 sku 值来支配的

横流:<script>元素默认编写在 <head>
中;但为足以出现在<body>元素中;

参考资料

  • supportedRuntime Element – Microsoft
    Docs
  • .NET Framework Versions and Dependencies – Microsoft
    Docs
  • .NET 4.5 is an in-place replacement for .NET 4.0 – Rick Strahl’s
    Web
    Log
  • app config – What does “SKU” (attribute) mean in C#? – Stack
    Overflow
  • .net – What happens if I remove the auto added supportedRuntime
    element? – Stack
    Overflow

本文会经常更新,请看原文: https://walterlv.github.io/dotnet/2017/09/22/dotnet-version.html ,以避免陈旧错误知识的误导,同时起还好之读书经验。

*不论重复声明,还是再度赋值 – 常量都见面报错

就算编写在不正确的位置:浏览器没有任何报错,且浏览器进行自动分析,将左位置变动也不易的职位。(HTML是无严格的符号语言)

ECMAScript: 语言的科班(定义语法)从2015年出产ES6之后;
今后年年推出一个新本子

无用要字和保留字作为名称;     名称最为有肯定的含义。

重在字: 在JavaScript代码中所有特有的意思;    保留字: 还从未启用的最主要字

 * 代码的规范性

BOM – Browser Object Model(浏览器对象模型)

☞先定义变量,再调用变量[好端端情况]

2、JavaScript发展

                                           background-color : red;

3、JavaScript组成部分

 * 区分轻重缓急写     eg: atguigu、Atguigu和ATGUIGU – 代表三单内容

ü  用法

是多独变量时:(1)每一行定义一个变量 
(2)单行定义多只变量,中间用为此逗号分隔  

经过 <script> 元素编写 JavaScript 语言:

console.log(test2);    ==>     var test2;   
–定义变量(但从不赋值); 默认值为【undefined】

var test2 = 300;              console.log(test2);

5、测试JavaScript代码

(1)定义<script>元素,直接编写      

浏览器加载执行JavaScript代码时 –
从上到下;当调用某个变量时,该变量已经有了

一言九鼎字和保留字,都非可知用来定义为变量名;

☞confirm(‘ ‘) ;

再次声明:JavaScript 变量只能存储一个数,之前存储的数目会为覆盖。

ü  命名规则

²  调用变量 -使用该变量对应的多寡内容

 ☞prompt(‘ ‘);         接收用户信息,页面有个输入框来填写信息

☞先调用变量,再定义变量  —【undefined】

格式:console.log(‘日志内容’);    console.warn(‘输出警告’);

console.info(‘输出信息’);   console.error(‘输出错误’);

*常量的声明,必须开展初始化操作,否则会报错误。

LiveScript    =>    JavaScript    =>     Jscript   
=>   ECMAScript(脚本语言的科班)

4、如何行使JavaScript

DOM – Document Object Model(文档对象模型)

   CSS:  组合选择器 #id,.class

   HTML: 元素名称建议采取小写;  父级与子级元素,建议缩进(空格或TAB)

              test2 = 300;  –为变量进行赋值

 ☞console.log(‘ ‘);     
在浏览器的开发者工具被之console(控制台)中输出消息

(单行注释) 符号://  [快捷键:CTRL + ?]       (多履注释)  符号: /*
*/  

type属性 – 设置当前引入文件之档次(text/javascript)

7、变量

CSS声明的有血有肉写法      eg:选择器{

8、常量

概念:存储数据信息之容器.              格式:var 变量名 =
数据内容;                 

                                     }

(2)通过<script>元素,引入外部JS文件   格式:<script
src=”JS文件之路子”></script>

[更声明:对应的数量内容会叫盖       
重复赋值:对应之数码内容会吃挂]

格式:  const 常量名 = 数据内容;             
  作用:表示有具体的数内容  

6、基础语法

ü 变量的宣示

 ☞alert(‘ ‘);           目前十二分少用(打印的情少于 –
不抱开发之求)   

²  定义变量 – 为某某的数目定义一个变量名称 

零星单话之间加空行;     注释内容编排清除;

脱声明: 直接读取一个没声明的变量的值,JavaScript会报错。

95年网景公司; 网景联合SUN公司;  联合微软公司;
三者联合欧洲计算机制造商协会

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图