您可以通过其强度或弱输入的方式对编程语言进行分类的方式之一。在这里,“键入”意味着是否在编译时已知变量。一个例子是一个场景,将整数(1)添加到包含整数(“ 1”)的字符串:
result = 1 "1";
包含整数的字符串可能是由带有许多运动部件的复杂逻辑套件无意间生成的。它也可以是故意从单个真理来源生成的。
尽管有“弱”和“强”术语的含义,但强大的编程语言不一定比弱小的语言更好。在某些情况下,需要灵活性的不仅仅是刚性,反之亦然。与编程的许多方面一样,答案取决于多个外部上下文(即“取决于”)。
另一个有趣的位是没有形式上的定义是什么构成强或弱打字。这意味着对被认为强烈或弱的语言的看法因人而异,并且可能会随着时间而改变。
typescript
JavaScript被认为是一种较弱的语言,这种灵活性有助于其在网络上的早期采用。但是,随着网络的成熟和工业化,JavaScript的用例变得更加复杂。
编译时间
编译时间是将编程语言转换为机器代码的时刻。它是运行时的先驱,即计算机执行机器代码的那一刻。
与网络上的许多内容一样,编译时间有些棘手。使用TypeScript的设置将将组件的JavaScript代码组成组成部分,并将它们编译为单个JavaScript文件,以供浏览器读取和运行。
组件零件的整理时间是合并的时间。 TypeScript是一种监督者,如果您试图在组合发生之前为自己设置的打字惯例,将对您大喊大叫。
缝合的JavaScript文件被浏览器摄入,该文件具有自己的编译时间。浏览器编译时间是高度可变的,具体取决于:
浏览器已打开的设备,
其他工作在做什么。
typescript并未由浏览器直接使用,但是感觉到它的存在。 JavaScript很脆弱。 Typescript试图防止代码编辑器上游的错误来帮助这种脆弱性。这减少了浏览器读取的JavaScript中发生的机会错误 - 导致JavaScript停止在网站或Web应用程序中使用的错误。
CSS
CSS是一种声明性的,特定领域的编程语言。它也被强烈键入。在大多数情况下,CSS中的值如撰写所述。如果一个值无效,则浏览器将整个属性扔掉。
类型CSS
CSS中的类型列表是详尽的。他们是:
textual类型-
全局播放的关键字:- 初始
弦乐,例如“ hello” - urls,例如https://css-tricks.com/
数字类型
的整数,是十进制数字0-9
实际数字,例如3.14
百分比,例如25%
cartios cartios
。 16/9
flex,用于CSS网格计算的变量长度
数量类型
Lengths:
Absolute lengths, such as pixels or centimeters
- Relative lengths, such as root ems or the viewport height
- Time, such as 200ms
- Angles, such as 15deg
- Time,例如250ms
频率,这样的16Hz
尺寸和长度似乎相似,但是尺寸可以包含百分比和长度。
颜色类型-
[2 #ff8764
rgb/rgba符号,例如rgba(105,221,174,0.5)-
图像类型-
- Image, which is a URL reference to an image file or gradient
color-stop-list, a list of two or more color stops, used for gradient notion
linear-color-stop, a color and length expression used to indicate a gradient color stop
- linear-color-hint, a length percentage used to interpolate颜色
结束形状,它使用圆圈或椭圆形的关键字用于径向渐变- 2D定位类型
[2
- 在CSS
中编程
- CSS中的大部分编程是为选择器提供的,然后指定一套属性及其必要值。选择器的集合为内容提供了视觉形式,就像JavaScript逻辑的集合如何创建功能一样。
CSS具有函数。它可以执行计算,条件逻辑,算法表达式,状态和基于模式的行为。它还具有自定义属性,这些属性实际上是CSS变量,可以动态更新值。哎呀,您甚至可以使用CSS解决FizzBuzz。-
与其他编程语言一样,还有一个“元”层,对如何组织,管理和维护事物具有不同的想法和技术。-
投掷错误
与其他编程语言不同的是,CSS在很大程度上存在代码,CSS具有很高的视觉效果。如果您对属性声明使用无效的值,则不会在控制台上看到警告或错误,但是您会获得不会更新您预期方式的视觉效果。
的原因是CSS具有弹性。当视觉效果因声明误解而无法更新时,CSS正在优先考虑,
可以不惜一切代价显示内容,并且会呈现其他所有有效的声明。这符合语言的设计原理,平台的原理以及网络使命的总体目标。
- 证明
- 让我们演示在CSS中输入的强度如何在三个示例中保留护栏:一个具有简单的属性/值声明,一个具有计算的属性,一个带有重新定义自定义属性的情况。
示例1:直接属性/值声明-
-
在此示例中,浏览器不了解横幅的边界式“马铃薯”声明。请注意,即使边界风格的类型不匹配,浏览器的另一个.banner类Selector属性/价值声明也会受到浏览器的荣誉并呈现。这是CSS弹性的一个示例。
边框风格的声明期望以下文本样式类型之一:- 全局播放的关键字,或
的自定义属性。
- 如果我们更新边框风格以使用有效的,键入的点,则浏览器将呈现边框!
- 示例2:计算
- CSS中的Calc(calc()函数使我们能够采取两个参数和一个操作员返回计算结果。如果其中一个参数不使用有效的类型,则计算将行不通。
在这支笔中,P Selector的字体大小属性期望具有数字维度类型(例如1.5REM)的值。但是,计算函数会为字体大小属性产生无效的类型值。这是因为Calc()函数中的第二个参数是字符串(“ 2REM”),而不是数字维度类型。
,因此该段的字体大小落回到下一个最适用的父节点 - 在身体元素上声明的1.5REM的字体大小。
这有点在杂草中,但值得指出:在calc()函数中结合两个自定义属性可能会导致错误。虽然这两个自定义属性都可以自行有效,但Calc()将不接受虚假的缩进文本类型。想想一个场景,我们可以尝试将包含不匹配单元的自定义属性乘以,例如-big:500px和-small:1em。
示例3:重新定义自定义属性
- 像JavaScript变量一样,可以重新定义自定义属性值。这种灵活性允许像轻松创建深色模式颜色主题一样。
- 请注意,更新的自定义属性被范围为.square,并且不会影响其他用法,例如“不要播放键入”一词上的右侧边框。如果您从.square中删除重新定义的自定义属性,则会看到CYAN背景颜色回到中。
- 虽然有些人为人为,但它是一个例子,说明如果您不小心,重新定义自定义属性可以摆脱您。
- 可以在通信较差的项目中找到这种现象,CSS代码库以及CSS预处理器用于大规模构造自定义属性的情况。
tooling
凭借事后看来,我认为缺乏对CSS的控制台警告是一个缺陷,并且对语言产生了许多负面看法。 -
希望开发人员会注意到,潜在的视觉变化可能太大了,并且不适合他们在其他大多数日常工具的位置。我知道有几个举措试图解决这个问题。
- 首先是Stylelint,是专门用于处理CSS和类似CSS的预处理语言的衬里。 Stylelint可以与代码编辑器,任务跑步者,命令行工具和GitHub操作集成,以帮助您控制CSS。这使其可以与开发人员见面。
第二是Firefox在其开发人员工具中出色的CSS检查选项套件。特别是,我想引起人们对识别未使用CSS的能力的关注。这对于识别可能不匹配类型不匹配的选择器非常有用。
- 总结
CSS只要是一种编程语言就可以强烈键入,并且作为一种编程语言,它已经存在了很长时间。最近,它也做了很多成长。如果您尚未签入,则有一些新的,令人惊叹的功能。
- 随着强大的JavaScript变得更加流行,我希望它可以帮助开发人员对CSS的公司更舒适而灵活。
[&& && &&& &&华