实现b数组对a数组的拷贝,方法越多越好
第一种方法:slice
var a=[“q”,33,“uu”],
b;
b=a.slice(0);s
console.log(b);
console.log(typeof b);
第二种方法:push
b = new Array();
for(var i=0;i<a.length;i++){
b.push(a[i]);
}
console.log(b);
第三种方法:concat
b = [].concat(a);
console.log(b);
var str = “hello world!”;
console.log(str.length);
// 返回值 12
console.log(str[2]);
// l
charAt
console.log(str.charAt(4));
// o
**charAt表示从某个字符串取得具体的字符**
charCodeAt
console.log(str.charCodeAt(4));
// 111
****charCodeAt()表示返回字符串中的index位置字符的ascii****
Math.round
var num1 = Math.round(189.99);
console.log(num1);
// 190
Math.round表示四舍五入取整
Math.ceil
var num2 = Math.ceil(189.99);
console.log(num2);
// 190
****Math.ceil表示向上取整****
Math.floor
var num4 = Math.floor(189.99);
console.log(num4);
// 189
**Math.floor(num) 表示向下取整**
var num5 = Math.floor(189.09);
console.log(num5);
// 189
Math.random
var randomNum = Math.random();
console.log(randomNum);
**//Math.random() 表示0-1之间的随机数**
JS简介
- 什么是JS – JavaScript的简称,是一种动态脚本语言。
- 什么是动态页面 – 人机交互 静态页面 – 没有人机交互
- JS需要安装才能使用吗? – 不需要
- 什么是BOM – 浏览器对象模型 DOM – 文档对象模型
详细介绍
- JavaScript是一种基于对象和事件驱动的客户端脚本语言,最初的设计是为了检验HTML表单输入的正确性,起源于Netscape公司的Livescript语言
JavaScript的组成:ECMAsxcript(语法)、Browser Objects(DOM BOM 特性)组成
JavaScript的注释和分号
//单行注释
/对行注释/
语句结束还是用分号,如果省略,则由解析器确定语句地结尾
JavaScript的标识符
- 什么是标识符 – 变量、函数、属性的名字,或者函数的参数。
- 标识符的命名规则
a. 由字母、数字、下划线(_)或者美元($)组成
b. 不能以数字开头
c. 不能使用关键字,保留字作为标识符
JS变量
- 与其他程序设计语言相同,用来临时存储信息
- 创建方法如下: 弱数据类型
a. var x=1; var x=2,name=“zhangsan”;
b. var x; x=1; var name; name=“lisi”; - 注意:Js中的变量,区分类型,但是没有int之类的关键词
JS调试
- alert()弹框调试、console.log控制台输出调试
- 观察变量值的变化规律,是否符合程序设计的目的
- 语法:
alert(flag);
console.log(flag);
JS自定义函数
- JavaScript函数:自定义函数、内置函数
- 自定义函数:是完成某一个功能模块的代码段,可以重复执行,方便管理和维护。
- 创建方法:
a. 这种事函数声明,可以先使用后定义。
function fun1(){
代码段;
return;
}
b.这种叫做:函数表达式,必须先定义后使用
var fun1 = function(x){
return x+1;
}
JavaScript数据类型 - ECMAScript:
a. 简单数据类型:
ⅰ. Underfined
ⅱ. null
ⅲ. Boolean
ⅳ. Number
ⅴ. String
b. ECMAScript6: es6 新增symbol数据类型
c. 复杂数据类型:Object – 对象
1、number – 数字类型,整型、浮点型都包括。
2、string – 字符串类型,必须放在单引号或者双引号中
3、boolean – 布尔类型,只有true和false 2种值
4、underfine – 未定义,一般指的是已经声明,但是没有赋值的变量,派生自null值, underfined==null ----> 返回的是true
5、null – 空对象类型,var a = null; 和 var a = “”;有区别;
特殊类型
**1. object – 对象类型,在js中常见的window document array等 - NaN – 是Number的一种特殊类型,isNaN() 如果是数字 返回false 不是数字 返回true
- isNaN() – 说明:对接受的数值,先尝试转换为数值,再检测是否为非数值。
- 任何涉及NaN的操作(例如NaN/10)都会返回NaN
- NaN与任何值都不相等,包括NaN本身。**
var id=“16”;
console.log(isNaN(id));//false 转换之后是数字
var id=“lisi”;
console.log(isNaN(id));//true 转换之后不是数字
type of - 功能:检测变量类型
- 语法:typeof 变量 或者 typeof(变量)
- 返回值:string number boolean object underfined function
类型转换 - parseInt() - 转换成整型 parseFloat() - 转换成浮点类型,带小数点 Number() - 包括整数和小数 Bolean() - 转换成逻辑类型
- 强制类型转换 隐式类型转换
- 案例演示
- 总结:
a. 除0之外的所有数字,换换成布尔型都是true
b. 除""之外的所有字符,转换成布尔型都是true
c. null和undefined转换成布尔型是false
变量作用域 - 全局变量和局部变量
a. 局部变量:在函数内部创建的变量,称为局部变量,其他函数不能使用。
b. 全局变量:在函数外部创建的变量,称为全局变量,在函数之间可以共享使用。
比较运算符 - 比较运算符:用于比较两个值,结果true或者false
- 运算符的范围: > >= != < <=
- 实例:x < 10为true //x=2
逻辑运算符 - 包含逻辑与 或 非 等,结果是true或者false
- && and || or ! 非
- (x<10&&y>1) x=2以及y=5 true
a. 对于&& 两个都是true结果是true,如果有一个false结果是false
b. 对|| ,其中一个是true结果就是true,两个都是false结果才为false
三目运算符 – 三元运算符 - 根据不同的条件,执行不同的操作/返回不同的值
- 格式:条件?值1:值2;
- 实例:x>1?“大于”:“小于”;
算数操作符 -
- 加
-
- 减
-
- 乘
- / 除
- % 取余
递增和递减 - 递增 ++a 与 a++ 都是对a进行递增的操作
- 区别
a. ++a先返回递增之后的a的值 – 先运算再赋值
b. a++ 先返回a的原来的值,再返回递增之后的值 – 先赋值在运算 - 递减同理
赋值运算符 - 简单赋值 =
- 复合赋值 += -= *= /= %=
运算符的优先级
- () 小括号 – 优先级高
- ++ – 自加 自减
-
- / % 乘 除 取余
-
-
- 加 减
-
- < <= > >= 逻辑运算
- == != 等于 不等于
- && 逻辑与
- || 逻辑或
- ?: 三目运算符
- = 赋值 – 优先级低
程序控制语句 - 条件判断控制语句
if(判断条件){
}else{
} - 多重if嵌套控制语句
if(判断条件){
}else if(){
}else{
} - 多条件分支类控制语句演示
成绩是100分,显示满分
成绩大于等于90,显示优秀
成绩大于等于70,显示良好
成绩大于等于60分,显示及格
否则,不及格
var myscore=55;
var str;
var n=parseInt(myscore/10);
switch(n){
case 10:
str=“manfen”;
break;
case 9:
str=“youxiu”;
break;
case 8:
case 7:
str=“lianghao”;
break;
case 6:
str=“jige”;
break;
default:
str=“bujige”;
break;
}
循环类控制语句 - for循环
- while循环
- do-while循环
for循环
//1+2+3+4+5+。。。。+100=5050
// var i;
// var sum=0;
// for(i=0;i<=100;i++){
// // sum=sum+i;
// sum+=i;
// }
// console.log(sum);
//1+2+3+4+5+。。。。+100=5050
//while循环是先判断条件,条件满足了再继续执行
var i=0;
var sum=0;
while(i<=100){
sum=sum+i;
i++;
}
console.log(sum);
//1+2+3+4+5+。。。。+100=5050
// do-while: 先执行一次,执行完之后再进行判断
var i=0;
var sum=0;
do{
sum=sum+i;
i++;
}while(i<=100);
console.log(sum);
补充 – 弹出输入框 - 语法:prompt();
- 弹出输入框
- 返回值:
a. 点击确定,返回输入的内容
b. 点击取消,返回null
补充 – 字符串的长度 - 语法:string.length
- 功能:获取string字符串的长度
- 返回值:number
数学函数
数学函数
(1) Math.round max min abs
//数学函数
var n = 16.654789;
console.log(Math.round(n));//js中round只能取整数,不能保留小数,遵循四舍五入。
//保留小数 遵循四舍五入
console.log(n.toFixed(2));
console.log(n.toFixed(0));//17
//取最小
console.log(Math.min(2,6,81,1));
//取最大
console.log(Math.max(2,6,81,1));
//取绝对值
console.log(Math.abs(-3));
console.log(Math.abs(5));