学习js一周的总结
学习js一周的总结
1.js的简史
1995年时,由Netscape公司的Brendan Eich开发出来的,最初中liveScript,为了快速发展,借用了当时一个业界非常流行的词语java,于是更名为javaScript.后来微软进入浏览器行业,从IE3.0开始的搭载了一个javaScript的克隆版JScript.因为行业的竞争,导致出来了多个不同的版本,使得各种浏览器,在兼容程序方面出现了混乱。为了统一语法标准,1997 年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会(ECMA),第 39 技术委员会(TC39)被委派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义,由来自 Netscape、Sun、微软、Borland 和其他一些对脚本编程感兴趣的公司的程序员组成的 TC39 锤炼出了 ECMA-262,该标准定义了名为 ECMAScript 的全新脚本语言。
js的概述
JavaScript是一种基于对象的,事件驱动的,跨平台的,客户端脚本语言
js能作什么?
对页面进行渲染,让页面有行为。让页面动起来,与后台数据进行交互。
js的组成
ECMAScript:定义语法规则
DOM (document object module)
BOM(browser object module)
js的引入方式
内联
<script></script>
外部引用
<script></script>
变量的数据类型
a.基本数据类型
number
string
boolean:布尔类型。表示真true和假false;
null
undefined
b.引用数据类型(对象类型)
object
c.typofe 操作符
作用:用于检测一个变量是哪种数据类型。
逻辑运算
与:&&
true && true == true
false && false == false
false && true == false
true && false == false
或:||
true || true ==== true
true || false ===== true
false || true ===== true
false || false ===== false
非:!
!false ==== true
案例 var a = false || 5 && 0 && 6;alert(a);
var a = !null && undefined || "" && 6;alert(a);
var a = !null && undefined || " " && 6;alert(a);
var a = !null && undefined || "0" && 6;alert(a);
var a = !null && undefined || 0 && 6;alert(a);
自增自减
++在前,先计算再赋值
++在后,先赋值再计算
三目运算
表达式(true/false) ? 语句1(true时执行) : 语句2(false时执行)
三目运算的嵌套:
表达式1(true/false) ? 语句1(表达式1true时执行) : (表达式2(true/false) ? 语句2(表达式2true时执行): 语句3(表达式2false时执行))
运算符的优先级
() > 自增自减运算符(单目运算符)> 算术学运算符 > 关系运算符 > 逻辑运算符 > 三目运算符 > 赋值运算符
手动强制类型转换
Number()
parseInte()
parseFloate()
toString();
Boolean();
--------------------------------------------------------
Number():
alert(Number(true)); //1.Boolean类型的true和false分别转换成1和0
alert(Number(25)); //25,数值型直接返回
alert(Number(null)); //0,空对象返回0
alert(Number(undefined)); //NaN,undefined返回NaN
如果是字符串,应该遵循以下规则:
1, 只包含数值的字符串,会直接转成十进制数值,如果包含前导0,即自动去掉。
alert(Number(“456”)); //456
alert(Number(“070”)); //70
2,只包含浮点数值的字符串,会直接转成浮点数值,如果包含前导和后导0,即自动去掉。
alert(Number(“08.90”)); //8.9
3,如果字符串是空,那么直接转成0.
alert(Number(“”)); //0
4,如果不是以上三种字符串类型,则返回NaN。
alert(“aa123“); //NaN
-------------------------------------------------------
parseInt();
alert(parseInt(“456zhou”)); //456,会返回整数部分
alert(parseInt(“Lee456zhou”));//NaN,如果第一个不是数值,就返回NaN
alert(parseInt(“12Lee56zhou”));//12,从第一数值开始取值,到最后一个连续数值结束
alert(parseInt(“56.12”)); //56,小数点不是数值,会被去掉
alert(parseInt(“”)); //NaN,空值返回NaN
parseInt()除了能够识别十进制数值,也可以识别八进制和十六进制。
alert(parseInt(“0xA”)); //10,十六进制
alert(parseInt(070)); //56,八进制,
alert(parseInt(“070”)); //如如果为八进制值的字符串,不支持八进制的转换
alert(parseInt(“0xALee”)); //100,十六进制,Lee被自动过滤掉
ECMAScript为parseInt()提供了第二个参数,用于解决各种进制的转换。
alert(parseInt(“0xAF”)); //175,十六进制
alert(parseInt(“AF”,16)); //175,第二个参数指定十六进制,可以去掉0x前导
alert(parseInt(“AF”)); //NaN,理所当然
alert(parseInt(“101010101”,2)); //314,二进制转换
alert(parseInt(“70”,8)); //56,八进制转换
------------------
parseFloate()和parseInt();用法类似,结果为小数。
------------------------------------------------------------
toString()
toString()方法可以把值转换成字符串。
var box = 11;
alert(typeof box.toString());
var box = true;
alert(typeof box.toString());
toString()方法一般是不需要传参的,但在数值转成字符串的时候,可以传递进制参数。
var box = 10;
alert(box.toString()); //10,默认输出
alert(box.toString(2)); //1010,二进制输出
alert(box.toString(8)); //12,八进制输出
alert(box.toString(10)); //10,十坦白,输出
alert(box.toString(16)); //a, 十六进制输出
----------------------------------------------------------
Boolean()
所有的非0的数字都是true 0为false
所有的非空字符串都是true 空字符串为false
null undefined NaN都是false
所有的引用数据类型的值都是true
if语句
if(表达式){
语句
}
if(表达式){
语句1
}else{
语句2
案例
请输入一个年份,判断这个年份是平年还是润年
var y = 1900;
if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0){
alert(y + "是闰年");
}else{
alert(y + "是平年");
}
0L3dlaXhpbl80OTI1NzA1MQ==,size_16,color_FFFFFF,t_70#pic_center)
switch 语句
switch(表达式){
//alert("ok");
case 值:{
语句
}
案例
输入0–6之间的一个整数 判断星期几 0 —日 1–星期一 …
var week = parseInt(prompt("输入0-6之间的整数"));
switch(week){
case 0:
alert("星期日");
break;
case 1:
alert("星期一");
break;
case 2:
alert("星期二");
break;
case 3:
alert("星期三");
break;
case 4:
alert("星期四");
break;
case 5:
alert("星期五");
break;
case 6:
alert("星期六");
break;
default:
alert("输入有误");
}
whlie 循环
var i = 初始变量
while(表达式){
循环体语句
i++;增量(步长)
}
案例
1.循环输出10个“*”
var i = 0;
while(i < 10){
document.write("*");
i++;
}
do while 循环
var i = 初始变量
do{
循环体语句
i++;增量(步长)
}while(表达式)
案例
1-100的和
var i = 0;
var sum = 0;
do{
i++;
sum += i;
}while(i < 100);
console.log(sum);
document.write("*");
i++;
}
#### do while 循环
var i = 初始变量
do{
循环体语句
i++;增量(步长)
}while(表达式)
###### 案例
1-100的和
var i = 0;
var sum = 0;
do{
i++;
sum += i;
}while(i < 100);
console.log(sum);
#### for 循环
本文地址:https://blog.csdn.net/weixin_49257051/article/details/107284421