javascript如何改变数字字体_JavaScript从入门到入坟:开篇

本期继续仔细讲讲前端技术的JavaScript的开篇,待仔细理解JavaScript后,后面几期再讲讲目前最热门的UI/UX。

忠告:未来的产品经理所具有的核心竞争力是技术加设计的结合。

ff6ba842b0aa58602313d17c798cdce7.png

作为新时代的小青年,要修炼出自己的竞争力,就要各方面都要涉及到,毕竟技多不压身嘛。(装完×就跑)。

回到正题(正文开始)

一、前端技术三座大山

ba7a5d5ef0d6a8c0b6b04aa077282459.png

众所周知,前端技术按技术点分大致可以分为三类:1.    Html:官方释意为超文本标记语言,标准通用标记语言下的一个应用。是网页制作必备的编程语言。其中的超文本指的是页面内可以包含图片、链接、多媒体文件和程序等内容。超文本标记语言的结构包括部和主体两个部分,并且用标签包括,以告知浏览器这是一个网页。部提供关于网页的信息,主体提供网页的具体内容,也就是我们能实际看到的内容。       网页的本质就是超文本标记语言,通过结合其他的网页技术创造出功能强大的网页。那么说了这么久超文本语言到底是什么?超文本语言本质上就是文本,它需要浏览器解释渲染才能正确显示。现如今HTML技术已经更新换代到了HTML5,引进了更多新的功能,并且更新了许多特性,可以真正改变用户与网页的交互方式。注意:Html不是一门编程语言!!!

60d2f88211c2af5438f9d3bd740e9253.png

                    950696c4ba170860c2133fbdc009e607.png

  1.    CSS:全称Cascading Style Sheets译为层叠样式表,是一种用来表现 HTML 或者其他通用标记语言等文件的计算机语言,CSS不仅可以静态修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果。如果说 HTML 的作用是如何定义了网页元素,那么CSS的作用就是定义了网页元素如何显示。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。
           同样,随着时代的发展CSS技术也已经更新到了CSS3,拥有了很多新特性比如:圆角效果、图形化边界、块阴影与文字阴影、使用RGBA实现透明效果、渐变效果、使用@Font-Face实现定制字体、多背景图、文字或图像的变形处理(旋转、缩放、倾斜、移动)、多栏布局、媒体查询等。

  2.     JavaScript(以下篇幅简称为 JS )是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JS引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。JS广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JS脚本是通过嵌入在HTML中来实现自身的功能的。那么我们接下来要学习的就是这一门直译式脚本语言。


ae02f22427bb8d322fdbaa25e196dbb6.png

二、JS的利与弊

       JS是世界上最流行的脚本语言,因为你在电脑、手机、平板上浏览的所有的网页,以及无数基于HTML5的手机App,交互逻辑都是由JavaScript驱动的。
简单地说,JS是一种运行在浏览器中的解释型的编程语言。

1.弊

如果你有一个问题,你选择用 js 来解决。。。
那么好!
你现在有两个问题了!

        为什么会有这样的调侃呢?让我们先回到 JS 诞生的时候。1995年一位名叫’Brendan Eich’的程序员被网景公司指定为一种未来的网页脚本语言的设计师,而且要让这种语言看起来与大名鼎鼎的Java语言足够相似。但是这位程序员对Java一点兴趣也没有,为了应付公司安排的任务,他只用了10天时间,就把JavaScript设计出来了。但是设计的时间太短太伧俗,语言的一些细节考虑的不够严谨,导致后来的很长一段时间使用JavaScript写出来的程序混乱不堪。但是这门语言刚向市场推出就被广泛接受,一时间被全世界的用户大量使用,这样的爆炸式增长使得调整语言规范变得更加困难。在其推出的一年半之后,国际标准就问世了,在设计缺陷还没有充分暴露的情况下就成了标准,这是一件非常难以想象的。要知道 C 语言问世将近20年之后才颁布了国际标准。以下列举几个 JavaScript 的设计缺陷和奇葩的地方缺陷:

  1. 不适合开发大型程序
    因为JavaScript没有namespace或者是package的设计,使得程序很难模块化;没有如何将代码分布在多个文件的规范;允许同名函数的重复定义,后面的定义可以覆盖前面的定义,很不利于模块化加载。

  2. 标准库非常小Javascript提供的标准函数库非常小,只能完成一些基本操作,很多功能都不具备。

  3. null 和 undefined 含义模糊null属于对象(object)的一种,意思是该对象为空;undefined则是一种数据类型,表示未定义。两者非常容易混淆,但是含义完全不同。在编程实践中,null几乎没用,根本不应该设计它。

    typeof null; // object
    typeof undefined; // undefined

  4. 全局变量难以控制
    Javascript的全局变量,在所有模块中都是可见的;任何一个函数内部都可以生成全局变量,这大大加剧了程序的复杂性。

    123456
    a = 1;  (function(){    b=2;     alert(a);  })(); 输出 1  alert(b); 输出 2
  5. 自动插入的行尾分号
    Javascript的所有语句,都必须以分号结尾。但是,如果你忘记加分号,解释器并不报错,而是为你自动加上分号。有时候,这会导致一些难以发现的错误。
    比如,下面这个函数根本无法达到预期的结果,返回值不是一个对象,而是undefined。

    123456
    function(){    return      {        i=1      };  }

    究其原因就是因为解释器自动在return语句后面加上了分号。

    123456
    function(){    return;      {        i=1      };  }
  6. 加号运算符
    +号作为运算符,有两个含义,可以表示数字与数字的和,也可以表示字符与字符的连接。

  7. NaN
    NaN是一种数字,表示超出了解释器的极限。
    它有一些很奇怪的特性:

    123
    NaN === NaN; //falseNaN !== NaN; //truealert( 1 + NaN ); // NaN

    与其设计NaN,不如解释器直接报错,反而有利于简化程序。

  8. 数组和对象
    由于Javascript的数组也属于对象(object),所以要区分一个对象到底是不是数组,相当麻烦。

    123
    if ( arr && typeof arr === 'object' &&typeof arr.length === 'number' &&!arr.propertyIsEnumerable('length')){    alert("arr is an array");  }
  9. == 和 ===
    ==用来判断两个值是否相等。当两个值类型不同时,会发生自动转换,得到的结果非常不符合直觉。

    123456789
    "" == "0" // false0 == "" // true0 == "0" // truefalse == "false" // falsefalse == "0" // truefalse == undefined // falsefalse == null // falsenull == undefined // true" \t\r\n" == 0 // true
  10. 基本类型的包装对象
    Javascript有三种基本数据类型:字符串、数字和布尔值。它们都有相应的建构函数,可以生成字符串对象、数字对象和布尔值对象。

    123
    new Boolean(false);new Number(1234);new String("Hello World");

    与基本数据类型对应的对象类型,作用很小,造成的混淆却很大。

    12
    alert( typeof 1234); // numberalert( typeof new Number(1234)); // object

2.利

       先来看看Atwood's Law:Atwood定律是Jeff Atwood在2007年提出的:“any application that can be written in JavaScript, will eventually be written in JavaScript.”即:

任何可以使用JavaScript来编写的应用,最终会由JavaScript编写。

       快速的终端反应: Java 脚本为客户端编写,不需要服务器端支持就可运行。也不需要在客户端被编译提高速度优势。在用户电脑上作为脚本执行,依靠任务,结果几乎是立即完成的。例如,在发送到服务器之前,你可以校验任何客户的输入内容。 这样可以减少服务器上载的内容。

       简洁性: JavaScript很容易学习和实现。它利用DOM模型, 提供大量的预编制的功能性对象代码,使得开发一个满足用户需要的脚本变得轻而易举。

       用途广泛: JavaScript和其他语言可以很好的交互,并且广泛应用于各个领域。现在,有很多的方法可以通过Node.js服务器使用JavaScript。如果你曾经使用node.js的Express框架bootstrap,使用一个文档数据库如mongodb,并且在客户前端使用JavaScript,那么完全可以只使用JavaScript开发一个从前端到后端的app应用。

       而且随着计算机技术和网络技术的快速发展,计算能力和网速不再是制约前端技术的障碍,许多许多的软件都渐渐被前端化,轻量化,在保持了原有的功能基础上使其传播效率大大增加,这也是直译式脚本语言的优势之一。

23ddd0dfed3b18e01acc9dbbc67e20f4.png

最后,你真的记住了吗?没有!!!那就多看看,自己多去练练,这样才能学以致用。

欢迎点击收藏加关注哦!

快赞我

哈哈哈哈哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值