关于JavaScript的那点事(二)

JavaScript最初的目的:判断客户端的输入;

JavaScript现在的意义:用于页面特效(PC端的网页效果)、移动端(移动web和APP)、异步和服务器交互、服务端开发(nodejs)。

——01——

JavaScript语言:是世界上用的最多的脚本语言(脚本语言,不需要编译,直接运行时边解析边执行的语言),是一种客户端(浏览器)的脚本语言。需要编译的语言:C、C++、Java、C#。

编译和解释的不同:

var a = 0;

console.log(a)

var b = "abc";

编译:一次性把代码转换成CPU可以看懂的的语言,一行一行执行(代码执行的效率高);

解释:一行一行解析,解析一行执行一行。

JavaScript的组成:

ECMAScript:JavaScript的语法规范

DOM:JavaScript操作网页上元素的API

BOM:JavaScript操作浏览器部分功能的API。

引入JavaScript

(1)HTML页面书写JavaScript

<script>

console.log("hello world");//在控制台输出字符串

alert("hello world");//弹出消息框

</script>

(2)引入外部JavaScript文件

<script src="js.js"></script>

--02--

script标签的属性

   Async:异步,多个人同时做多件事;

  Sync : 同步,一个人有序的做多件事情。

  type属性:type=“text/Javascript”,可以省略;

  Async:async="async",值可以省略,但不建议省略,立即异步下载外部js,不影响页面其他的操作,js下载完毕立即执行;

 defer:defer=“defer”,值可以省略,也是异步执行,脚本延迟到文档完全被解析和显示后再执行,只有外部脚本可以使用。

JavaScript的变量

  变量是在计算机中存储数据的一个标识符;变量可以在声明的时候赋值,也可以稍后赋值,例如:var number= 50;var name= “王五”;或者 var name = “王五”;可以在一行上定义多个变量:var name,sex,age。

弱类型:JavaScript是弱类型的脚本语言

var age = 90;

age = “王五”;

这两行代码在JavaScript中是合法的,原因就是:JavaScript是弱类型的语言。但不建议这么使用。

变量命名规则和规范

    规则(必须遵守):由下划线、字母、数字、$组成;不能是关键字和保留字、区分大小写

    规范(建议遵守):变量的名称要有意义、变量的命名遵守驼峰命名法,首字母小写,第二个单词的首字母大写。例如:userName

注释:

单行注释——//单行注释

多行注释——/*多行注释*/

注释的应用:一般用于解释某些复杂代码的逻辑,方便于后期的维护和开发;一般用于对整个模块进行分割划分,方便于代码查找代码和维护;一般用于:模块、函数、复杂逻辑注解、文件注解、维护记录等。

PS:大家在写代码的时候,尽量写注释,方便日后查看。

——03——

数值类型

数据类型:

   简单(基本、值)数据类型,Number、 String、Boolean、Undefined、Null;

   复杂(引用)数据类型:Object、Array、Date;

   查看当前变量的数据类型:typeof  name / typeof(name);

数值字面量

   字面量:固定的值,让你从“字面上”理解其含义;

   数值字面量:var age = 18;//数值字面量,18为字面值;

Number类型

   十进制,var num = 9;进行算数计算时,八进制和十六进制表示的数值最终都将被转换成十进制数值;

   十六进制,var num = 0xA;数字序列范围:0~9以及A~F;

   八进制,var num1 = 07;//对应十进制的7,var num2 = 019;//对应十进制的19。数字序列范围:0~7,如果字面值中的数值超出了范围,那么前导零将被忽略,后面的数值将被当做十进制数值解析;

   浮点数,var n = 5e-324;最高精度是17位小数,但在进行算数计算时其精确度远远不如整数,如:var result = 0.1+0.2;//结果不是0.3,而是0.3000000000000004;永远不要测试某个特定的浮点数值(不要判断两个浮点数是否相等)。

数值范围

    最小值:Number.Min_Value,这个值为:5e-324

    最大值:Number.Max_value,这个值为:1.7976931348623157e+308

    无穷大:Infinity

    无穷小:-infinity

数值检测

NaN 非数值(Not a  Number):console.log("abc/18");  //结果是NaN

      isNaN():任何不能被转换为数值的值都会导致这个函数返回true:isNaN(NaN);//true,isNaN(123);//false

String类型

     字符串字面量:var name = “zhangsan”;//zhangsan 字面量;

      字符串要用引号引起,单引号和双引号的作用是等效的;

      字符串是由一个一个字符组成的,获取一个字符串中的字符个数可以使用length,例如:var name = “zs”; alert (name.length);//2

字符串是不可变的,也就是说,一旦创建,它们的值不能改变。要想改变某个变量的值,首先要销毁原来的字符串,然后在用另一个包含新值的字符串填充该变量。

Boolean类型

     有两个字面量:true和false,并且区分大小写;虽然Boolean类型的字面值只有两个,但ECMAScript中所有类型的值都由于这两个Boolean值等价的值。

例如:

var  result = Boolean("a");

console.log(result);//true

var result = Boolean (100);

console.log(result);//true

转换成Boolean类型

任何类型可以转换成Boolean类型,一般使用在流程控制语句后面,

例如:

var  message = "hello";if(message){alert(message+"world")};

当变量的值是空字符串、0、NaN、null、undefined都转换为false。

Undefined类型

是一种比较特殊的类型,表示变量未赋值,这种类型只有一种值就是undefined。

例如:

var message;console.log(message);//结果是undefined

undefined是Undefined类型的字面量。

typeof message 获取到的是"undefined"。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容