JS练习题

Posted python-data-machine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS练习题相关的知识,希望对你有一定的参考价值。

1.注意:只要+【加号】两边没有字符串,我们就按正常的数字相加就OK了

技术分享图片
1 <body>
2     <script type="text/javascript">
3         var str = false +1;
4         document.write(str);
5     </script>
6 </body>
View Code

上面这道题实际上带有隐世类型转换,false转换为0,然后和1相加,所以结果为1;

2.注意:运算符之间的优先级

技术分享图片
1 <body>
2     <script type="text/javascript">
3         var demo = false ==1;
4         document.write(demo);
5     </script>
6 </body>
View Code

上面这道题显然==判断是否相等的优先级要高于=赋值运算符,所以先看false是否等于1【false转换成数字为0,显然不等于1,返回false】,然后将比较的结果赋值给变量demo,所以demo的值为false;

 

3.注意:只有一种情况我们在不定义变量的情况下,使用变量是不报错的,就是使用typeof(a)这种情况,而且返回值为字符串类型的undefined;

注意:虽然null是一个原始类型,但是当null交给typeof的时候,typeof总是认为null是给Object占位使用的,所以我们使用typeof(null)的时候,返回值是Object;

注意:true转换为数字是1,false转换成数字是0,那么-true【负true就是-1】,一般情况下前面加+号或者-号的都是将其转换为数字【隐式转换】,所以+undefined是想将undefined转换为数字【Number】,当然undefined是转换不成Number数字的,所以返回值是NaN【not a number】,而-1+NaN=NaN,NaN+""【空串】得到的结果就是"NaN"的字符串!所以如下代码:

技术分享图片
1 <body>
2     <script type="text/javascript">
3         if(typeof(a)&&-true + (+undefined) +""){
4             document.write("基礎扎實");
5         }
6     </script>
7 </body>
View Code

所以if条件中的语句就成了"undefined"字符串 和 “NaN”字符串做与操作,由于是两个字符串做与操作,所以if条件得到的返回值是true,那么就可以执行if语句体,从而可以输出:基础扎实!

技术分享图片
1 <body>
2     <script type="text/javascript">
3         if(11 + "11"*2 == 33){
4             document.write(基础扎实);
5         }
6     </script>
7 </body>
View Code

注意:凡是用到*【乘号】的,我们一般都是将*【乘号】两边的东西转换为数字,所以这里的字符串"11"会被隐式转换为数字11,然后乘以2,得到22,然后和前面的11相加,得到33再和33比较是否相等,显然是相等的,所以会执行if语句内部的输出,最终会输出:基础扎实!

隐式转换:除了+号之外的运算符,如-,*,/,%,等运算符两边的东西都是要先隐式转换为数字,然后再进行计算的!如下所示:

"11"-"2":实际上是将字符串11和字符串2转换为数字11和数字2,然后再进行相减!

 

4.注意:""【空串】和"   "【空格字符串不是一回事】,空串转换为布尔值是false,而空格字符串转换为布尔值

 是true;所以!""是true,而 !"  "是false,而 !!""则是false,!!"  "则是true,所以如下代码:

技术分享图片
1 <body>
2     <script type="text/javascript">
3         !!" " + !!"" - !!false || document.write(你觉得能打印,你就是猪);
4     </script>
5 </body>
View Code

||前面的是:true + false -false其实就是转换为数字再计算,得到1,||【或】好前面是1,相当于true,所以就不会执行||【或】后面的代码,所以不会输出后面的内容!

 

5.CSS的属性值有几个?分别是啥?代表啥含义:

  ①.inline【行内元素】

  ②.inline-block【行内块元素】

  ③.block【块元素】

  ④.none【样式消失,且不占用空间】

 

  6.

 

以上是关于JS练习题的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

js代码片段: utils/lcoalStorage/cookie

JS代码片段:一个日期离现在多久了

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

js常用代码片段(更新中)