day01

1、数据类型  number string boolean undefined object function

  加号具有两种功能,数字相加 和 字符串拼接。加号两边只要碰见字符串,则执行字符串拼接。

  number(),parseInt(),parseFloat方法都可以将字符串转换成数字类型

2、“=”,一个等号表示赋值,“==”两个等号表示等于(此时不考虑数据类型),“===”,三个等号表示全等于(此时考虑数据类型)

3、NAN不是一个用来运算的值,因此 NAN 不等于 NAN 。NAN是一个 number类型。

4、toString(n); 转换成n进制 parseInt(n,m),将n转换成m进制

day03

1、 return 语句有两个作用,返回和终止函数运行。

2、argument ,一个对象,该对象将函数的所有参数保存为一个数组。在函数中可以直接调用。在严格模式下数组中内容的修改将不能与函数中调用的参数同步。

day04

练习题:

1、通过循环生成顺序为一个5×5的二维数组a赋1到25的自然数,然后输出该数组的左下半三角。试编程。

  

 <script>
         var count = 0;
         for (var i = 1; i <= 25; i++) {
             if (count % 5 == 0 && count != 0) {
                 document.write("<br>");
             }
             count++;
             var node = document.createElement("div");
             var txt = document.createTextNode(i);
             node.style.width = "20px";
             node.style.float = "left";
             node.appendChild(txt);
             document.body.appendChild(node);
         }
         var count2 = 1;
         var temp = 1;
         for (var i = 1; i <= 25; i++) {
             if (count % 5 == 0 && count != 0) {
                 document.write("<br>");
                 temp = count2;
                 count2++;
                 // console.log(temp);
             }
             count++;
             var node = document.createElement("div");
             if (temp > 0) {
                 var txt = document.createTextNode(i);
                 temp--;
             }
             node.style.color = "red";
             node.style.width = "20px";
             node.style.float = "left";
             node.appendChild(txt);
             document.body.appendChild(node);
         }
         document.write("<br>");
     </script>

数组写法:

 <script>
         var a = [];
         var temp = null;
         for (var i = 0; i < 25; i++) {
             if (i % 5 == 0) {
                 temp = new Array(0);
                 a.push(temp);
             }
             temp.push(i + 1);
         }
         console.log(a.length);
         console.log(a);
         for (var i = 0; i < a.length; i++) {
             for (var j = 0; j <= i; j++) {
                 document.write(a[i][j]);
             }
             document.write("<br>");
         }
 </script>

2、定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程。

 <script>
         var a = new Array(30);
         var b = 2;
         var c = [];
         for (var i = 0; i < a.length; i++) {
             a[i] = b;
             b += 2;
         }
         var sum = 0;
         for (var i = 0; i <= a.length; i++) {
             if (i % 5 == 0 && i != 0) {
                 c.push(sum / 5);
                 sum = 0;
             }
             sum += a[i];
         }
     </script>

3、随机点名程序

 <script>
         var namelist = ["宋健", "唐小丽", "栗洁", "佘美晨", "王尹玮", "甘秀能", "孙琦林", "杨洪娜", "韩彦曦",
             "刘禹麟", "潘熙", "田士恩", "滕文松", "张志阵", "龙  海", "刘泽阳", "盘睿", "韩俊倩", "侯红申", "于明皓",
             "李嘉辉", "杨鹏", "莫瑞飞", "张亚楠", "欧阳秋雪", "李亚宁", "刘家彬", "王宗其", "刘浩", "董珂莹", "梁晓宇",
             "王天鹤", "胡振涛", "李双霜", "胡兵康", "程作鹏", "陈维宇", "郭紫玉", "范林强", "张迪", "陈钲", "张晓婷",
             "刘丽", "王靖宇"
         ]; //44个
         // console.log(namelist.length);
         var random = parseInt(Math.random() * namelist.length);
         document.write(namelist[random]);
         document.write("<br>");
 </script>

4、点击按钮,生成数字字母验证码

 <script>
         var list = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'a', 'b', 'c'];
         var btn = document.createElement("button");
         var code = document.createElement("div");
         btn.innerHTML = "点击生成验证码";
         document.body.appendChild(btn);
         btn.onclick = function () {
             code.innerHTML = "";
             var one = list[parseInt(Math.random() * list.length)];
             var two = list[parseInt(Math.random() * list.length)];
             var three = list[parseInt(Math.random() * list.length)];
             var four = list[parseInt(Math.random() * list.length)];
             var hintContent = document.createTextNode(one + " " + two + " " + three + " " + four);
             console.log(hintContent);
             code.appendChild(hintContent);
             code.style.border = "1px solid";
             code.style.display = "inline-block";
             document.body.appendChild(code);
         }
 </script>

5、请编写一个函数join,将数组的每一位按照指定字符链接起来 ,例如: join([1,2,3], "%"), 运行结果"1%2%3";

 <script>
         function join(Arr, operator) {
             var str = "";
             for (var i = 0; i < Arr.length; i++) {
                 if (i == Arr.length - 1) {
                     str += Arr[i];
                 } else {
                     str += Arr[i] + operator;
                 }
             }
             return str;
         }
         document.write(join([1, 2, 3], "%"));
 </script>

6、随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么

 <script>
     var str=parseInt(Math.random()*99999).toString();
     console.log("共"+(str.length)+"位数字");
     for(var i=0;i<str.length;i++){
         console.log("第"+(i+1)+"位是:"+str[i]);
     }
 </script>

7、编写函数map(arr) 把数组中的每一位数字都增加30%

 <script>
         //编写函数map(arr) 把数组中的每一位数字都增加30%
         function map(arr){
             for (var i = 0; i < arr.length; i++) {
                 arr[i]*=1.3;
             }
         }
         qq=[4,5,6,9,8,7];
         map(qq);
         console.log(qq);
 </script>

8、编写函数has(arr , 60) 判断数组中是否存在60这个元素,返回布尔类型

 <script>
         // 编写函数has(arr , 60) 判断数组中是否存在60这个元素,返回布尔类型
         function has(arr,n) {
             for (var i = 0; i < arr.length; i++) {
                 if(arr[i]==n){
                     return true;
                 }else{
                     continue;
                 }
             }
             return false;
         }
         console.log(has([1,2,22,3,4,5,55,54,87,77],60)); //false
14 </script>

9、编写函数noRepeat(arr) 将数组的重复元素去掉,并返回新的数组

 <script>
         //编写函数noRepeat(arr) 将数组的重复元素去掉,并返回新的数组
         function noRepeat(arr){
             for(var i in arr){
                 for(var j in arr){
                     if(j==i){
                         continue;
                     }else if(arr[i]==arr[j]){
                         arr.splice(j,1)
                     }
                 }
             }
             return arr;
         }
         console.log(noRepeat([6,3,2,4,2,5,3]));// [6,3,2,4,5]
 </script>

课堂小记---JavaScript(1)的更多相关文章

  1. 课堂小记---JavaScript(4)

    day11 1.正则表达式 去掉首尾的空格或者其他字符 replace方法可传入函数可分组. 以下为分组 基础正则表达式语法: /** * 正则表达式是一个对象类型 */ // 匹配字符串中的che ...

  2. 课堂小记---JavaScript(3)

    操作DOM var newDOM=DOM元素.cloneNode(参数); 克隆(复制)当前节点,参数默认为false只复制当前节点元素.参数为true时复制当前元素及其后代和所有属性. day06 ...

  3. 课堂小记---JavaScript(2)

    本阶段难点疑点梳理 1.关于switch中default的使用: default同case功能一样,区别在于并不匹配任何信息,只有当case中无任何匹配的时候才会执行default.需要注意的是,这是 ...

  4. 杨校老师课堂之JavaScript右下角广告弹框教程

    案例制作思路: 1.先制作界面 添加一个盒子包含一个按钮,使盒子绝对定位在右上角 添加一个大盒子,同理,将盒子居于左下角:其中内部包含一个顶端盒子和底部盒子 顶端盒子因为是属于大盒子内部的存在,所以宽 ...

  5. 杨老师课堂之JavaScript定时器_农夫山泉限时秒杀案例

    预览效果图: 使用到的知识点: 定时器 setInterval(函数,毫秒):在指定的毫秒数后调用函数或执行一段代码 取消定时器 clearInterval:取消由setInterval设置的定时器 ...

  6. javascript小记-javascript运行机制

    任何语言的运行过程中,都会有编译和执行: 对于传统编译型语言来说,编译步骤分为:词法分析.语法分析.语义检查.代码优化和字节生成.但对于解释型语言来说,通过词法分析和语法分析得到语法树后,就可以开始解 ...

  7. 松软科技Web课堂:重要->JavaScript 调试

    错误总会发生,每当您写一些新的计算机代码时. JavaScript 调试 在没有调试器的情况下写 JavaScript 是有难度的. 您的代码中也许包含了语法错误,或者逻辑错误,这些都难以诊断. 通常 ...

  8. 松软科技前端课堂:JavaScript 数值方法

    Number 方法帮助您处理数值. Number 方法和属性 原始值(比如 3.14 或 2016),无法拥有属性和方法(因为它们不是对象). 但是通过 JavaScript,方法和属性也可用于原始值 ...

  9. 松软科技前端课堂:JavaScript 对象

    真实生活中的对象.属性和方法 在真实生活中,汽车是一个对象. 汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法: 对象 属性 方法   car.name = porsche car.model = ...

随机推荐

  1. Mysql数据库使用量查询及授权

    Mysql数据库使用量查询及授权 使用量查询 查看实例下每个库的大小 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2 ...

  2. <Android基础>(三) UI开发 Part 2 ListView

    ListView 1)ListView的简单用法 2)定制ListView界面 3)提升ListView的运行效率 4)ListView的点击事件 3.5 ListView 3.5.1 ListVie ...

  3. Codeforces 1077D Cutting Out(二分答案)

    题目链接:Cutting Out 题意:给定一个n长度的数字序列s,要求得到一个k长度的数字序列t,每次从s序列中删掉完整的序列t,求出能删次数最多的那个数字序列t. 题解:数字序列s先转换成不重复的 ...

  4. Window下Eclipse+Tomcat远程调试

    需求:       项目在开发环境跑得好好的,但是当发布到服务器上时,却出现了一些意外的问题.服务器上不可能给你装IDE调试工具啊,又没有很好的日志帮助下,这时候就用到了JVM的Java Platfo ...

  5. JavaScript与jQuery关于鼠标点击事件

    即实现鼠标点击其中一个菜单发生样式的改变,当点击下一个菜单时,当前菜单样式改变,其他菜单均变为之前样式. 用JavaScript,jQuery都可以实现,只是后者是封装的JavaScript库,具有s ...

  6. Python常用模块-时间模块

    在写代码的过程中,我们常常需要与时间打交道,在python中,与时间处理有关的模块有time,datetime和calendar.,这里主要介绍time和datetime模块 在python中,表示时 ...

  7. 验证性控件的使用--验证两个文本框至少有一个不为空CustomValidator

    转:http://blog.163.com/zhaowencong_2010/blog/static/20402815220122103155643/ 有时候我们在注册一个帐号时要求我们留下电话号码, ...

  8. java8 按条件过滤集合

    //黄色部分为过滤条件list.stream().filter(user-> user.getId() > 5 && "1组".equals(user. ...

  9. Codeforces 1060E(dfs计数)

    题目链接 题意 给一棵树,对于一个节点,与它相邻的结点可以连一条边,求所有点对间距离之和 思路 任意两点间的距离被优化为$\left \lceil \frac{s}{2} \right \rceil$ ...

  10. 一些Js操作

    一.after()和before()方法的区别 after()——其方法是将方法里面的参数添加到jquery对象后面去:    如:A.after(B)的意思是将B放到A后面去:    before( ...