RIA-学习之旅第一天
输出语句
<script type="text/javascript">
//第一种
document.write('我是浏览器输出语句');
//第二种
alert('我是弹出语句');
//第三种
console.log('我是控制台输出语句');
</script>
typeof操作符
//typeof操作符 用户判断数据类型
//用法1
document.write(typeof 1); //number
document.write(typeof true); //boolean
document.write(typeof null); //object
var a;
document.write(typeof a);//undefined
var f = function(){};
document.write(typeof f);//function
//用法2
document.write(typeof('str'));//String
类型转换
隐式类型转换
var i = 1;
var j = '2';
document.write(i+j); // -> 12
//
var i = 1;
var j = 2.5;
//整数和浮点数相加时,整数自动转换为浮点数
document.write(i+j); // -> 3.5
显示类型转换
Boolean(2+1); // 返回:true
String(123); // 返回:‘123’
其他类型转换为字符串类型
1.String()方法,以上有代码
2.toString() 方法,注:除 undefined 和 null 之外的所有类型的值都具有toString()方法
var a = true; //布尔值类型
var a1 = a.toString(); //转换为字符串类型
alert(typeof a1);//String
其他类型转换为数字类型
//parseInt() 注意开头不能有非数字,否则返回NaN
var i = '12.23aabb';
alert(parseInt(i)); // -> 12
//parseFloat() 注意开头不能有非数字,否则返回NaN
alert(parseFloat(i));// -> 12.23
//Number() 注意必须是纯数字,否则返回NaN
alert(Number(i));// -> NaN
//NaN(not a number) 不是一个数字
其他类型转换为布尔类型
Boolean(1+2); //true
比较运算符
== 和 ===的区别
var x = 5; // x 是 数字类型 5
var y = '5'; // y 是字符类型5
//== 表示内容相等,=== 表示内容和类型都相等
document.write('x == y 吗?' + (x == y)); // -> true
document.write('x === y 吗?' + (x === y)); // -> false
创建数组的两种方式
//创建数组
//1.通过Array创建数组
var arr1 = new Array(5); //指定数组长度
var arr2 = new Array('Jack','Rose',10,5); //显式指定多个值
//2.通过[]创建数组
var empty = []; //没有元素的数组,空数组
var myarray = [39,60,99,85,60,99]; //有6个数值的数组
var misc = [1.1,true,'jenny']; //存储3个不同类型的元素
获取数组元素的索引
var arr = [1,'a','3','gg',5];
//JS数组索引从0开始
//从前往后查找,首次匹配到的索引
var result = arr.indexOf('a'); // 1
//从后往前查找,首次匹配到的索引
var result = arr.lastIndexOf('gg');//3
获取数组的长度
//通过length属性,可以获取数组的长度
var a = new Array('first','second','third');
a[48] = '12';
document.write('显示结果:' + a.length); // -> 49
通过for-in循环遍历数组
//通过for-in 循环遍历数组
var students = ['Jack','Rose','Linda'];
for(var i in students){
alert(students[i]); // 依次提示Jack,Rose,Linda
}
对数组进行重排序
//反转数组元素(字节影响数组) reverse()方法
var students = ['Jack','Tim','Rose'];
students.reverse();
console.log(students); //Rose,Tim,Jack
//排序(直接影响数组) sort(sortby)方法 sortby可选,定义排序规则;默认升序
students.sort();
console.log(students); //Jack,Rose,Tim
数组的拼接与截取
//拼接(不影响原数组)
var students = ['Jack','Rose'];
var students2 = ['Linda','Tim'];
var result = students.concat(students2);
console.log(result); // ['jack','Rose','Linda','Tim']
//截取(不影响原数组)
var students = ['jack','Rose','Linda','Tim'];
var result = students.slice(1);
console.log(result); // ['Rose','Linda','Tim']
功能:输出倒三角
代码如下:
<script type="text/javascript">
//功能:输出一个倒三角形
//共六行 第一行六个星。。依次减一
for(var i = 1;i <= 6;i++){ //外层循环控制行数
for(var j = 6;j>=i;j--){ //内层循环控制列数
document.write('*'); //在浏览器页面输出星号
}
document.write('<br/>'); //换行
}
</script>
效果图
功能:输出九九乘法表
代码如下:
<script type="text/javascript">
//功能:输出九九乘法表
//九行 第一行一个。。依次+1
for(var i = 1;i <= 9;i++){ //外层循环控制行数
for(var j = 1;j <= i;j++){ //内层循环控制列数,因为要实现每行多一个所以j要小于等于i
document.write(j+'*'+i+'='+(i*j)+' '); //在浏览器页面输出
}
document.write('<br/>');//换行
}
</script>
效果图:
内置对象
Array对象,String对象,Math对象,Number对象,Boolean对象,Regexp对象
String对象
//创建String对象
//1.通过new创建对象
var str = new String("HelloWorld");
//2.通过字符串字面量直接赋值
var str2 = 'HelloWorld';
常用方法
var str = 'Hello World!';
//indexOf()从前往后查找所传参数首次出现的位置
document.write(str.indexOf('Hello'));//-> 0
document.write(str.indexOf('World'));//-> 6
document.write(str.indexOf('world'));//-> -1
//charAt()根据字符串中的索引获取字符
document.write(str.charAt(1)); // -> e
//slice()截取并返回字符串中两个索引间的子串
document.write(str.slice(2,5));// -> llo
//toUpperCase()将字符串转换为大写字母形式
document.write(str.toUpperCase());// -> HELLO WORLD!
//toLowerCase()将字符串转换为小写字母形式
document.write(str.toLowerCase());// -> hello world!
//subString()获取字符串内介于两个索引之间的子串
document.write(str.substring(3,7)); // -> lo W 左含右不含
Math对象
常用方法
//abs(x) 返回数组的绝对值
var a = -1;
document.write(Math.abs(a)); // -> 1
//ceil(x) 对数值进行向上取整
var b = 1.1;
document.write(Math.ceil(b)); // -> 2
//floor(x) 对数值进行向下取整
var c = 1.9;
document.write(Math.floor(c)); // -> 1
//round(x) 对数值进行
//正数:四舍五入取整
var d = 1.4;
var e = 1.5;
document.write(Math.round(d)); // -> 1
document.write(Math.round(e)); // -> 2
//负数:五舍六入取整
var f = -1.5;
var g = -1.6;
document.write(Math.round(f)); // -> -1
document.write(Math.round(g)); // -> -2
//max(x,y,...) 返回多个数中的最大值
document.write(Math.max(1,2,3));// -> 3
//min(x,y,...) 返回多个数中的最小值
document.write(Math.min(1,2,3));// -> 1
//pow(x,y) 返回x的y次幂
document.write(Math.pow(2,3)); // -> 8
//random() 返回0~1之间的随机数(含0不含1)
document.write(Math.random());
Date对象
// 创建Date对象
//1.无参,返回当前日期时间
var myDate = new Date();
//2.有参,传入毫秒数
var myDate = new Date(1000*60);//1s=1000毫秒
//中国位于世界时区中的东八区,默认从1970年1月1日8时整开始,前进一分钟。
//3.把字符串转换为Date对象
var dt = new Date('2020/12/07');//yyyy/MM/dd
var dt = new Date('2020/12/07 23:12:11'); // yyyy/MM/dd HH:mm:ss
Date对象的get方法
var myDate = new Date();
//返回Date对象的4位年份值
alert(myDate.getFullYear()); // -> 2020
//返回Date对象的月份值,从0开始,所有真实月份=返回值+1
alert(myDate.getMonth()); // -> 12
//返回Date对象的月份中的日期值;值的范围1~31
alert(myDate.getDate()); // -> 7
//返回Date对象的小时值
alert(myDate.getHours()); // -> 23
//返回Date对象的分钟值
alert(myDate.getMinutes()); // -> 16
//返回Date对象的秒数值
alert(myDate.getSeconds()); // -> 11
//返回Date对象的毫秒值
alert(myDate.getMilliseconds()); // -> 22
//返回Date对象的一周中的星期值;0为星期天,1为星期一,以此类推
alert(myDate.getDay); // -> 1
Date对象转换为字符串
//转换为本地日期时间字符串
var dt = new Date();
console.log(dt.toLocaleString());//2020/12/08 下午15:13:12
Boolean对象
Boolean 对象仅含有两个值:true,false
布尔值的表示范围
false:false,null,undefined,空字符串‘’,数字0,NaN
true:其他所有值均被当做真,包括true、字符串"false",以及所有非null对象
Number对象
常用方法
//toString方法 可以传递一个表示进制的参数,无参表示十进制,返回相应的字符串
var num = 10;
console.log(num.toString());//->10
console.log(num.toString(8));//八进制为0-7 ->12
console.log(num.toString(16));//十六进制为0-f ->a
console.log(num.toString(2)); -> 1010
//toFixed() 转换为定点形式的字符串
var num1=10.493;
var num2=10.515;
var num3=10;
console.log(num1.toFixed()); // 10
console.log(num2.toFixed()); //11
console.log(num3.toFixed()); //10
console.log(num1.toFixed(2)); //10.49
console.log(num2.toFixed(2)); // 10.51
console.log(num3.toFixed(2)); //10.00
console.log(typeof num1.toFixed());//string