课堂小记---JavaScript(1)
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)的更多相关文章
- 课堂小记---JavaScript(4)
day11 1.正则表达式 去掉首尾的空格或者其他字符 replace方法可传入函数可分组. 以下为分组 基础正则表达式语法: /** * 正则表达式是一个对象类型 */ // 匹配字符串中的che ...
- 课堂小记---JavaScript(3)
操作DOM var newDOM=DOM元素.cloneNode(参数); 克隆(复制)当前节点,参数默认为false只复制当前节点元素.参数为true时复制当前元素及其后代和所有属性. day06 ...
- 课堂小记---JavaScript(2)
本阶段难点疑点梳理 1.关于switch中default的使用: default同case功能一样,区别在于并不匹配任何信息,只有当case中无任何匹配的时候才会执行default.需要注意的是,这是 ...
- 杨校老师课堂之JavaScript右下角广告弹框教程
案例制作思路: 1.先制作界面 添加一个盒子包含一个按钮,使盒子绝对定位在右上角 添加一个大盒子,同理,将盒子居于左下角:其中内部包含一个顶端盒子和底部盒子 顶端盒子因为是属于大盒子内部的存在,所以宽 ...
- 杨老师课堂之JavaScript定时器_农夫山泉限时秒杀案例
预览效果图: 使用到的知识点: 定时器 setInterval(函数,毫秒):在指定的毫秒数后调用函数或执行一段代码 取消定时器 clearInterval:取消由setInterval设置的定时器 ...
- javascript小记-javascript运行机制
任何语言的运行过程中,都会有编译和执行: 对于传统编译型语言来说,编译步骤分为:词法分析.语法分析.语义检查.代码优化和字节生成.但对于解释型语言来说,通过词法分析和语法分析得到语法树后,就可以开始解 ...
- 松软科技Web课堂:重要->JavaScript 调试
错误总会发生,每当您写一些新的计算机代码时. JavaScript 调试 在没有调试器的情况下写 JavaScript 是有难度的. 您的代码中也许包含了语法错误,或者逻辑错误,这些都难以诊断. 通常 ...
- 松软科技前端课堂:JavaScript 数值方法
Number 方法帮助您处理数值. Number 方法和属性 原始值(比如 3.14 或 2016),无法拥有属性和方法(因为它们不是对象). 但是通过 JavaScript,方法和属性也可用于原始值 ...
- 松软科技前端课堂:JavaScript 对象
真实生活中的对象.属性和方法 在真实生活中,汽车是一个对象. 汽车有诸如车重和颜色等属性,也有诸如启动和停止的方法: 对象 属性 方法 car.name = porsche car.model = ...
随机推荐
- python 实现聊天室
所用模块 asyncore 官方介绍, 源码 英文捉鸡点 这里 源码中可以看到其实本质上就对 select 以及 socket 的进一步封装 简单说明 Python的asyncore模块提供了以异步 ...
- luoguP4841 城市规划
题意: 求n个点的无相连通图的个数.有编号 思路一: 黏博客 至于为什么除以k!:(没有博客中说的那么简单) 实际上, 对于一个n的用k个自然数的拆分,每一个拆分的贡献是: $\frac{n!*\Pi ...
- Spring中的AOP 专题
Caused by: java.lang.IllegalArgumentException: ProceedingJoinPoint is only supported for around advi ...
- Zabbix通过Orabbix监控Oracle数据库
一.背景 公司业务使用的是一直Oracle数据库,因为多次出现表空间满的时候不能及时发现,每次都是业务组的人员通知处理,这样下来DBA这边就比较被动,所以老大要求监控表空间剩余大小并且当剩余过小时能够 ...
- pycharm 运行错误信息显示乱码
pycharm版本 解决方法:
- prometheus 标签使用
标签的配置使用 考虑到要明智地使用标签,我们需要给事物重新命名.在一个集中的.复杂的监视环境中,我们有时无法控制正在监视的所有资源以及它们公开的监视数据.重新标记允许在自己的环境中控制.管理和潜在地标 ...
- Numpy 系列(八)- 广播机制
什么是广播 我们都知道,Numpy中的基本运算(加.减.乘.除.求余等等)都是元素级别的,但是这仅仅局限于两个数组的形状相同的情况下. 可是大家又会发现,如果让一个数组加1的话,结果时整个数组的结果都 ...
- 盒子显隐,伪类边框,盒子阴影,2d平面形变
-盒子显隐 显隐的盒子尽量不影响其他盒子的布局 display:none; 消失的时候不占位置,显示的时候占位 opacity:0-1; 盒子透明度 overflow: hidden; 超出部分隐藏 ...
- windows环境隐藏命令行窗口运行Flask项目
Linux下可以使用nohub来使Flask项目在后台运行,而windows环境下没有nohub命令,如何让Flask项目在windows中在后台运行而不显示命令行窗口呢? 1.写一个.bat脚本来启 ...
- P5290 [十二省联考2019]春节十二响
题目地址:P5290 [十二省联考2019]春节十二响 骗分方法 如果你实在一点思路也没有,暴力都不会打,那么请考虑一下骗分. 方法一 输出所有 \(M\) 的和. 期望得分:0分. 实际还有5分 方 ...