1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>041-050章总结</title>
  6. </head>
  7. <body>
  8.  
  9. <pre>
  10. 041. 嵌套的for循环
  11. </pre>
  12. <script type="text/javascript">
  13. console.log("第041");
  14. //这个for循环执行几次,图形的高度就是多少
  15. for (var i=0;i<5;i++) {
  16. // 在循环的内部再创建一个循环,用来控制图形的宽度
  17. for (var j=0;j<5-i;j++) {
  18. document.write("* ")
  19. }
  20. document.write("<br>")
  21. }
  22. </script>
  23.  
  24. <pre>
  25. 042. 练习
  26. </pre>
  27. <script type="text/javascript">
  28. console.log("第042");
  29. /*
  30. * 1.打印99乘法表
  31. * 1*1=1
  32. * 1*2=2 2*2=4
  33. * 1*3=3 2*3=6 3*3=9
  34. * 1*4=4 2*4=8 3*4=12 4*4=16
  35. * ....9*9=81
  36. */
  37. for (var i=1;i<=9;i++) {
  38. for (var j=1;j<=i;j++) {
  39. document.write( j +"*"+ i + "= " + i*j +" ,");
  40. }
  41. document.write("<br>")
  42. }
  43. </script>
  44.  
  45. <pre>
  46. 043. for循环练习
  47. </pre>
  48. <script type="text/javascript">
  49. console.log("第043");
  50. // 打印出1-100之间所有的质数
  51. for (var i=2;i<=100;i++) {
  52. //创建一个布尔值,用来保存结果,默认i是质数
  53. var flag=true;
  54. //判断i是否是质数
  55. //获取到2-i之间的所有的数
  56. for (var j=2;j<i;j++) {
  57. if( i%j==0 ){
  58. flag =false;
  59. break;
  60. }
  61. }
  62. //如果是质数,则打印i的值
  63. if(flag){
  64. console.log(i);
  65. }
  66. }
  67. </script>
  68.  
  69. <pre>
  70. 044. break和continue
  71. </pre>
  72. <script type="text/javascript">
  73. console.log("第044");
  74. /*
  75. * break关键字可以用来退出switch或循环语句。
  76. * 不能在if语句中使用break和continue,循环内的if内可以使用。
  77. * break关键字,会立即终止离他最近的那个循环语句。
  78. */
  79. for(var i=0 ; i<5 ; i++){
  80. if(i == 2){
  81. break;
  82. }
  83. console.log(i); //0 1
  84. }
  85. for(var i=0 ; i<5 ; i++){
  86. console.log("@外层循环"+i)
  87. for(var j=0 ; j<5; j++){
  88. break;
  89. console.log("内层循环:"+j);
  90. }
  91. }
  92. /*
  93. * 可以为循环语句创建一个label,来标识当前的循环
  94. * label:循环语句
  95. * 使用break语句时,可以在break后跟着一个label,
  96. * 这样break将会结束指定的循环,而不是最近的
  97. */
  98. outer1:
  99. for(var i=0 ; i<5 ; i++){
  100. console.log("@外层循环"+i);
  101. inner1:
  102. for(var j=0 ; j<5; j++){
  103. break outer1; // 外层循环终止了,内侧也终止。
  104. console.log("内层循环:"+j);
  105. }
  106. }
  107. /*
  108. * continue关键字可以用来跳过当次循环
  109. * 同样continue也是默认只会对离他最近的循环循环起作用
  110. */
  111. /*for(var i=0 ; i<5 ; i++){
  112. if(i==2){
  113. continue;
  114. }
  115. console.log(i);
  116. }*/
  117. outer2:
  118. for(var i=0 ; i<5 ; i++){
  119. //console.log("@--->"+i);
  120. for(var j=0 ; j<5 ; j++){
  121. if(j==3){
  122. continue outer2;
  123. }
  124. //continue outer2;
  125. console.log("-->"+j);
  126. }
  127. console.log("@--->"+i);
  128. }
  129. </script>
  130.  
  131. <pre>
  132. 045. 质数练习的改进
  133. </pre>
  134. <script type="text/javascript">
  135. console.log("第045");
  136. //测试如下的程序的性能
  137. //在程序执行前,开启计时器
  138. //console.time("计时器的名字")可以用来开启一个计时器
  139. //它需要一个字符串作为参数,这个字符串将会作为计时器的标识
  140. console.time("test");
  141. for ( var i=2; i<=10000; i++ ) {
  142. //console.log(zhi);
  143. var flag = true;
  144. for ( var j=2; j<Math.sqrt(i); j++ ) { // 可以通过Math.sqrt()对一个数进行开方11.4ms
  145. if( i%j==0 ){
  146. // 如果进入判断则证明i不是质数,修改flag值为false
  147. flag = false;
  148. // 一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了,使用break来结束循环
  149. break;// 不加221ms,加上break为24ms
  150. }
  151. }
  152. if(flag){
  153. //console.log(i);
  154. }
  155. }
  156. //终止计时器
  157. //console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
  158. console.timeEnd("test");
  159. </script>
  160.  
  161. <pre>
  162. 046. 对象的简介
  163. 如果使用基本数据类型的数据,我们所创建的变量都是独立,不能成为一个整体。
  164. 对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
  165. 对象的分类:
  166. 1.内建对象
  167. - 由ES标准中定义的对象,在任何的ES的实现中都可以使用
  168. - 比如:Math String Number Boolean Function Object....
  169. 2.宿主对象
  170. - 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
  171. - 比如 BOM DOM
  172. 3.自定义对象
  173. - 由开发人员自己创建的对象
  174. </pre>
  175. <script type="text/javascript">
  176. console.log("第046");
  177. //创建对象
  178. /*
  179. * 使用new关键字调用的函数,是构造函数constructor
  180. * 构造函数是专门用来创建对象的函数
  181. * 使用typeof检查一个对象时,会返回object
  182. */
  183. var obj1 = new Object();
  184. console.log(obj1)
  185. console.log(Object)
  186. </script>
  187.  
  188. <pre>
  189. 047. 对象的基本操作
  190. </pre>
  191. <script type="text/javascript">
  192. console.log("第047");
  193. //在对象中保存的值称为属性
  194. // 向对象添加属性 语法:对象.属性名 = 属性值;
  195. var obj2 = new Object()
  196. obj2.name = "孙悟空";
  197. obj2.gender = "男";
  198. obj2.age = 18;
  199. //读取对象中的属性 语法:对象.属性名
  200. //如果读取对象中没有的属性,不会报错而是会返回undefined
  201. console.log(obj2.gender);
  202. console.log(obj2.hello); //undefined
  203. //修改对象的属性值语法:对象.属性名 = 新值
  204. obj2.name = "tom";
  205. // 删除对象的属性 语法:delete 对象.属性名
  206. delete obj2.name;
  207. console.log(obj2.name);
  208. console.log(obj2.age);
  209. </script>
  210.  
  211. <pre>
  212. 048. 属性名和属性值
  213. </pre>
  214. <script type="text/javascript">
  215. console.log("第048");
  216. var obj3 = new Object();
  217. /*
  218. * 属性名:
  219. * - 对象的属性名不强制要求遵守标识符的规范,什么乱七八糟的名字都可以使用
  220. * - 但是我们使用是还是尽量按照标识符的规范去做
  221. */
  222. obj3.name = "孙悟空";
  223. obj3.var = "var";
  224. console.log(obj3.var)
  225. /*
  226. * 如果要使用特殊的属性名,不能采用.的方式来操作
  227. * 需要使用另一种方式:语法:对象["属性名"] = 属性值
  228. * 读取时也需要采用这种方式
  229. * 使用[]这种形式去操作属性,更加的灵活,
  230. * 在[]中可以直接传递一个变量,这样变量值是多少就会读取那个属性
  231. */
  232. obj3["123"] = 789;
  233. obj3["nihao"] = "你好";
  234. var n = "nihao";
  235. console.log(obj3[n]);
  236. //属性值 JS对象的属性值,可以是任意的数据类型 甚至也可以是一个对象
  237. obj3.test = true;
  238. obj3.test = null;
  239. obj3.test = undefined;
  240. //创建一个对象
  241. var obj4 = new Object();
  242. obj4.name = "猪八戒";
  243. //将obj4设置为obj3的属性
  244. obj3.test = obj4;
  245. console.log(obj3.test.name);
  246. console.log(obj3);
  247. /*
  248. * in 运算符
  249. * - 通过该运算符可以检查一个对象中是否含有指定的属性 如果有则返回true,没有则返回false
  250. * - 语法:"属性名" in 对象
  251. */
  252. console.log(obj3.test2); // undefined
  253. //检查obj3中是否含有test2属性
  254. console.log("test2" in obj3);
  255. console.log("test" in obj3);
  256. console.log("name" in obj4);
  257. </script>
  258.  
  259. <pre>
  260. 049. 基本数据类型和引用数据类型
  261. 基本数据类型
  262. String Number Boolean Null Undefined
  263. 引用数据类型
  264. Object
  265. JS中的变量都是保存到栈内存中的,
  266. 基本数据类型的值直接在栈内存中存储,
  267. 值与值之间是独立存在,修改一个变量不会影响其他的变量
  268. 对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,
  269. 而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,
  270. 当一个通过一个变量修改属性时,另一个也会受到影响.
  271. </pre>
  272. <script type="text/javascript">
  273. console.log("第049");
  274. var a = 123;
  275. var b = a;
  276. a++;
  277. console.log("a = "+a); //124
  278. console.log("b = "+b); //123
  279. var obj5 = new Object();
  280. obj5.name = "孙悟空";
  281. var obj6 = obj5;
  282. //修改obj的name属性
  283. obj5.name = "猪八戒";
  284. console.log(obj5.name); // 猪八戒
  285. console.log(obj6.name); // 猪八戒
  286. //设置obj6为null
  287. obj6 = null;
  288. console.log(obj5);
  289. console.log(obj6);
  290. var c = 10;
  291. var d = 10;
  292. //console.log(c == d);
  293. var obj7 = new Object();
  294. var obj8 = new Object();
  295. obj7.name = "沙和尚";
  296. obj8.name = "沙和尚";
  297. console.log(obj7);
  298. console.log(obj8);
  299. /*
  300. * 当比较两个基本数据类型的值时,就是比较值。
  301. * 而比较两个引用数据类型时,它是比较的对象的内存地址,
  302. * 如果两个对象是一摸一样的,但是地址不同,它也会返回false
  303. */
  304. console.log(obj7 == obj8); //false
  305. </script>
  306.  
  307. <pre>
  308. 050. 对象字面量
  309. 使用对象字面量,可以在创建对象时,直接指定对象中的属性
  310. 语法:{属性名:属性值,属性名:属性值....}
  311. 对象字面量的属性名可以加引号也可以不加,建议不加,
  312. 如果要使用一些特殊的名字,则必须加引号
  313. 属性名和属性值是一组一组的名值对结构,
  314. 名和值之间使用:连接,多个名值对之间使用,隔开
  315. 如果一个属性之后没有其他的属性了,就不要写.
  316. </pre>
  317. <script type="text/javascript">
  318. console.log("第050");
  319. // 使用对象字面量来创建一个对象
  320. var obj9 = {};
  321. obj9.name = "孙悟空";
  322. var obj10 = {
  323. name:"猪八戒",
  324. age:13,
  325. gender:"男",
  326. test:{name:"沙僧"},
  327. conprint: function(){
  328. console.log(this.age)
  329. }
  330. };
  331. console.log(obj10.test);
  332. console.log(obj10.conprint());
  333. </script>
  334.  
  335. </body>
  336. </html>

所有基础课程链接:


1.JavaScript基础视频教程总结(001-010章)          2.JavaScript基础视频教程总结(011-020章)          3. JavaScript基础视频教程总结(021-030章)        4. JavaScript基础视频教程总结(031-040章)

5. JavaScript基础视频教程总结(041-050章)          6. JavaScript基础视频教程总结(051-060章)         7. JavaScript基础视频教程总结(061-070章)        8. JavaScript基础视频教程总结(071-080章)

9. JavaScript基础视频教程总结(081-090章)          10. JavaScript基础视频教程总结(091-100章)        11. JavaScript基础视频教程总结(101-110章)      12. JavaScript基础视频教程总结(111-120章)

13. JavaScript基础视频教程总结(121-130章)        14. JavaScript基础视频教程总结(131-140章)


 另外,欢迎关注我的新浪微博

JavaScript基础视频教程总结(041-050章)的更多相关文章

  1. JavaScript基础视频教程总结(131-140章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. JavaScript基础视频教程总结(121-130章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. JavaScript基础视频教程总结(111-120章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  4. JavaScript基础视频教程总结(101-110章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. JavaScript基础视频教程总结(091-100章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. JavaScript基础视频教程总结(081-090章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  7. JavaScript基础视频教程总结(071-080章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. JavaScript基础视频教程总结(061-070章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. JavaScript基础视频教程总结(051-060章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

随机推荐

  1. python学习笔记_week25

    note Day25 - 博客 - KindEditor - beautifulsoup4对标签进行过滤 - 单例模式 - 事务操作 - from django.db import transacti ...

  2. js 模拟css3 动画3

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. Linux命令:read

    在shell中,内建(builtin)命令read,格式如下: read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] ...

  4. JS 正则表达式基本语法(精粹)

    1.正则表达式基本语法 两个特殊的符号'^'和'$'.他们的作用是分别指出一个字符串的开始和结束. 例子如下: "^The":表示所有以"The"开始的字符串( ...

  5. hbase--知识点总结2

    --用java操作hbase 1.配置jar包环境 创建hbase项目 --> 新建folder文件夹 --> 将hbase相关jar包全部导入到java项目之中 --> add b ...

  6. easyui datagrid自定义按钮列,即最后面的操作列

    在很多时候我们要在表格的最后添加一列操作列,easyUI貌似没有提供种功能,不过没关系,我们可以自定义来实现首先是HTML部分 <table id="tt" class=&q ...

  7. FortiGate防火墙对数据包处理流程

    1.流程图 2.防火墙对数据包处理过程的各步骤如下: 1)Interface(网卡接口) 网卡接口驱动负责接数收据包,并转交给下一过程. 2)DoS Sensor(DoS防御,默认关闭) 负责过滤SY ...

  8. Python基础-python变量(三)

    一.什么是变量 顾名思义:变量就是可以改变的量 如: z=0 x=5 y=5 z=x+y(z=?) 上方的z就是变量,其值可以改变. 通俗的理解就是: 变量 = 生活中的容器(饭盒) 变量赋值= 把东 ...

  9. [leetcode]88. Merge Sorted Array归并有序数组

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: T ...

  10. time模块的使用

    https://www.cnblogs.com/jimmy-share/p/10605575.html import time 一.方法汇总: time.sleep():定时函数 time.time( ...