2020-01-15-易锦大学03-js基础第一课

js语言特点


2020-01-15-易锦大学03-js基础第一课_第1张图片
image.png

01,js代码可以写在页面上面,也就是写在html页面的代码当中。如下图所示:


2020-01-15-易锦大学03-js基础第一课_第2张图片
image.png

02,js代码也可以写在一个文件当中,然后在html中调用。其次,这个js文件后缀名,不一定非得是XX.js这样的形式。其他形式的后缀名也可以。


2020-01-15-易锦大学03-js基础第一课_第3张图片
image.png

03,js是解释型,而易语言是编译型。易语言编译后生成一个exe文件,软件运行是看不到其中代码的。而js可以看到其中代码。

其次,解释型代码运行顺序是 顺序加载,代码从上往下运行。执行到哪一步报错就停止,而停止之前的代码都正常运行!

04,js是弱类型,而易语言是强类型。
例如易语言中定义一个变量,是文本型,此时,你赋值给它整数型就不行!
而js没这个问题。下面代码可以正常运行,不会报错


2020-01-15-易锦大学03-js基础第一课_第4张图片
image.png

05,区分大小写!!!js区分大小写。
06,忽略多余的换行和空格,js和易语言都如此。
js,分号代表语句的结束。
下面这样的,没问题,不会报错


2020-01-15-易锦大学03-js基础第一课_第5张图片
image.png

07,注释功能。


image.png
2020-01-15-易锦大学03-js基础第一课_第6张图片
image.png

08,不区分整数和小数。跟易语言区别很大!

09,得到的是一个时间戳。js取的是13位的,以毫秒为单位的!
如果想取以秒为单位的,取前10位即可。


2020-01-15-易锦大学03-js基础第一课_第7张图片
image.png

结果如下:


2020-01-15-易锦大学03-js基础第一课_第8张图片
image.png

10,可以通过时间戳得到人类常用的时间格式。但是参数必须是13位的。


2020-01-15-易锦大学03-js基础第一课_第9张图片
image.png

结果如下:


2020-01-15-易锦大学03-js基础第一课_第10张图片
image.png

不过,可以继续优化,转换。


2020-01-15-易锦大学03-js基础第一课_第11张图片
image.png

结果如下:


2020-01-15-易锦大学03-js基础第一课_第12张图片
image.png

其次,还有一个办法得到时间戳。


2020-01-15-易锦大学03-js基础第一课_第13张图片
image.png

结果如下:


2020-01-15-易锦大学03-js基础第一课_第14张图片
image.png

但是以上两个方法还是有区别的,由于js是解释型语言,date.now这个方法
在系统引擎(ie7和ie8引擎)会报错,但是在V8引擎(谷歌浏览器)不会报错。新旧版本的问题。
更详细内容,请看具体视频!

为了稳妥起见,还是用老方法,new date().gettime()那个方法比较好,无论哪个系统都可以运行!


2020-01-15-易锦大学03-js基础第一课_第15张图片
image.png

11,单引号和双引号的区别。
js不区分单引号,还是双引号。
但是有一个请看例外,就是一个字符串有引号。那么必须做到外面是单引号,里面则是双引号。或者外面是双引号,里面是单引号!不能冲突!

12,谷歌浏览器控制台,这里要注意


2020-01-15-易锦大学03-js基础第一课_第16张图片
image.png

会在里面自动加一个双引号!引号会冲突,报错!解决办法就是把外面的双引号改成单引号才行!

(一般,咱们遇不到这个功能需求,如果能遇到,说明研究的很深入了!)
如下图所示即可:


2020-01-15-易锦大学03-js基础第一课_第17张图片
image.png
2020-01-15-易锦大学03-js基础第一课_第18张图片
image.png

13,布尔值,这里是个重点!
这里相当于易语言的逻辑型,而易语言逻辑型只有真和假2个可能。而js不仅仅是这2个,还有其他的。

案例:


2020-01-15-易锦大学03-js基础第一课_第19张图片
image.png

很明显,结果是真!

接着,如果a=“”“” 是一个空字符串呢?
结果是假!

因为,js会自动转换,在js中,以下7中类型值为假!


2020-01-15-易锦大学03-js基础第一课_第20张图片
image.png

NaN---not a number 的缩写!

2020-01-15-易锦大学03-js基础第一课_第21张图片
image.png

14,变量!用var 声明。
定义多个变量


2020-01-15-易锦大学03-js基础第一课_第22张图片
image.png

图中的C就是未定义的,未定义的就是undefined的,就是false

其次,可以重复定义变量,而且两个变量是同样的


2020-01-15-易锦大学03-js基础第一课_第23张图片
image.png

上图中的操作,不会报错!

15,全局变量,和局部变量。
如果用var 定义的变量,那么就是一个局部变量。如果去掉了var,那么就是一个全局变量!


2020-01-15-易锦大学03-js基础第一课_第24张图片
image.png

而且,有时候系统会报错!


2020-01-15-易锦大学03-js基础第一课_第25张图片
image.png

16,系统会自动吧var a 语句提前。所以不会报错!


2020-01-15-易锦大学03-js基础第一课_第26张图片
image.png

17,变量作用域是一个重点!
2020-01-15-易锦大学03-js基础第一课_第27张图片
image.png

由于都是局部变量,所以都会报错!

以下是子程序的格式:


2020-01-15-易锦大学03-js基础第一课_第28张图片
image.png
2020-01-15-易锦大学03-js基础第一课_第29张图片
image.png

18,运算符,这里跟易语言差不太多。

不过,加号似乎跟易语言有一些区别!
如下图:


2020-01-15-易锦大学03-js基础第一课_第30张图片
image.png

加号的作用,将数据类型进行了强制性转换。此时,弹出的值就是时间戳!

如果是一个空对象:


2020-01-15-易锦大学03-js基础第一课_第31张图片
image.png

那么他转换不了,弹出的值就是 NaN

其次,如果是加中括号,如下图,则弹出的值是0


2020-01-15-易锦大学03-js基础第一课_第32张图片
image.png

原理就是利用js的一个弱类型特点,一般在QQ空间都能看到。

接下来,还有一个区别


2020-01-15-易锦大学03-js基础第一课_第33张图片
image.png

系统会弹出一个值是 ,字符串55,而不是10!说明,会优先转到字符串!

还有个应用。


2020-01-15-易锦大学03-js基础第一课_第34张图片
image.png

time=4
自增,自减去。只有在遍历数组的时候会遇到。

2020-01-15-易锦大学03-js基础第一课_第35张图片
image.png

19,位运算符,很少用到。用到的话就错了!
看个案例,在js中, = 永远等于赋值!


2020-01-15-易锦大学03-js基础第一课_第36张图片
image.png

弹出的结果为真,因为= 是复制。如果判断是否相等,请用 ==

20,=== 3个等号? 是恒等。

2020-01-15-易锦大学03-js基础第一课_第37张图片
image.png

结果是真!

如果3个等号。那么就没有反应了!


2020-01-15-易锦大学03-js基础第一课_第38张图片
image.png

不会弹出真!

2020-01-15-易锦大学03-js基础第一课_第39张图片
image.png

21,逻辑运算符是个重点!因为在js中有比较另类的用法!先介绍“或”的用法。

&& 是与,跟易语言中的 且 是同一个意思!
以下看上图。接下来介绍另类用法:


2020-01-15-易锦大学03-js基础第一课_第40张图片
image.png

b的值是多少? 答案是100

2020-01-15-易锦大学03-js基础第一课_第41张图片
image.png

如果改成上图这样,b的值为多少? 答案是100

为什么? 因为有一个特点,这么长,实际上遇真即返回!如果遇到假的,会继续往右边寻找!
那么。如果全部为假呢?那么就会返回最右边的那个!

继续变型:


2020-01-15-易锦大学03-js基础第一课_第42张图片
image.png

b的值是多少?答案: 张三100
因为括号内部会返回一个实际值,而不是真或者假,要注意!然后遇到+。优先转换成了字符串100.然后进行了字符串的拼接。最终变成了张三100

22,接下来介绍 “与”的用法!比或更复杂!


2020-01-15-易锦大学03-js基础第一课_第43张图片
image.png

b的值 是0 。 背后的逻辑是遇假就返回!


2020-01-15-易锦大学03-js基础第一课_第44张图片
image.png

b的值,还是0。遇到假就返回!


2020-01-15-易锦大学03-js基础第一课_第45张图片
image.png

上图中,b的值,还是0
接下来,还有个用法!
2020-01-15-易锦大学03-js基础第一课_第46张图片
image.png

a的值是多少?他会弹出100

如果小改动一下:


2020-01-15-易锦大学03-js基础第一课_第47张图片
image.png

a的值就是0

背后的逻辑是 前面的语句是真,就执行后面的语句。如果前面的语句是假,那么后面的语句就不执行了!
实际上这就是if的简写.

2020-01-15-易锦大学03-js基础第一课_第48张图片
image.png

23,条件运算符。也就是三目运算符。很常用!


2020-01-15-易锦大学03-js基础第一课_第49张图片
image.png

弹出的结果是 真


2020-01-15-易锦大学03-js基础第一课_第50张图片
image.png

上图中弹出的结果就是 假!
这相当于if else的简写!

-----------------------------------------------2020-1-31

小肩膀js+post-第四期--js部分
第五十二课--js扫盲!


2020-01-15-易锦大学03-js基础第一课_第51张图片
image.png

01,学习的重点,js语言核心--ECMAScript。客户端js和浏览器js。
接下,再去学习一下客户端js。学习一下js是如何获取元素的!

第五十三课--第一个js程序


2020-01-15-易锦大学03-js基础第一课_第52张图片
image.png

01,span 和label 没有啥区别!
02,id名称,一般都不会重复的。
看到了一半就不看了,深入研究js混淆啥的,我目前感觉用处不大!

你可能感兴趣的:(2020-01-15-易锦大学03-js基础第一课)