JS基础概念整理与简单练习-Part1

(写在前面:想着本身也会整理,不如把整理的内容放到博客里,能帮助到检索这篇博客的人一点点也好。没想到之前写的一点内容也有人浏览,挺惊讶的,这几天多整理一些之前写的本地笔记上传吧。)

  1.  if 练习1
        
        小结:
        ① else if条件累赘了;
        ② 需要判断值是否合法// 空字符转换为数值是0;
        ③ prompt( )函数的返回值是String类型的;
  1. if 练习2
        
 
  1. switch练习
        
        小结:
        ① 这个例子不适合用switch写(更适合if),不过未注释部分是标准写法。
 
  1. while练习1
        题目较简单,未附代码。小结:
        ① do-while语句是 后测试循环语句;while语句是 前测试循环语句。
 
  1. while练习2
       
        本题修改自if练习1,在输入分数部分添加了一个循环,错误便重输。
        小结:
        ① 此题的score全程都是字符串,只有在比较时临时转换为数值进行比较;不能转为数值的会被转为NaN,比较结果是false。
        ② 第一个if需要全员true才能通过,score.length必须得有(保证空字符不会变成0)。
        ③ 因为不能转为数值的在第一个if处就false陷入循环了,所以不需要下面的isNaN判断。
        ④ 因为 if练习1 中防止 'a'与数值比较为false,跳到 正确格式值 的分支,所以需要做判断。(第一步永远是判断异常值!)
        ⑤ 养成好习惯,break也加分号。
 
  1. for练习1
        
        小结:
        ① 一般这种题都是比较除数(%)
        ② sum初始值可以定义在i=1后面,用逗号隔开。
 
  1. for练习3
        
        小结:
        ① 记得一定要做var声明!
        ② 个位数获取的简单方法。
 
        关于var变量的解释:
        ① var num = 1;是在当前域中声明变量。如果在方法中声明,则为局部变量;如果是在全局域中声明,则为全局变量。【变量声明】
        ② num = 1;是对属性赋值操作。首先,它会尝试在当前作用域链(如在方法中声明,则当前作用域链代表全局作用域和方法局部作用域etc)中解析 num; 如果在任何当前作用域链中找到num,则会执行对num属性赋值; 如果没有找到num,它才会在全局对象(即当前作用域链的最顶层对象,如window对象)中创造num属性并赋值。【创建全局对象属性】
不使用var声明变量的时候,变量是全局对象(window对象)属性,在全局中变量是全局变量。
        ③ 总结:使用var为变量声明,带不可删除属性,无法被删除;不使用var为全局变量的一个属性,可从全局变量中删除。
 
  1. for练习4
        
        小结:
        ① 循环多了就要注意逻辑!
 
  1. 嵌套for练习1
        
        小结:
        ① 两者都对,但是为了输出的结果美观,建议将输出放在span里,由css统一控制。
 
  1. 嵌套for练习2
        
        小结:(题目是打印出1-100之间的所有质数)
        ① console.time( )和console.timeEnd( )可充当程序的计时器。
        ② 想办法优化isPrime质数判断函数。
        
 
 
 
 
 
 
posted @ 2020-02-28 20:18  兔子大叔  阅读(229)  评论(0编辑  收藏  举报