JS高程——1、2、3
第一章




第二章
在html两种引用js
<script > function sayScript(){alert("</script>");}</script>
<script type="text/javascript" src="example.js"></script>
<script type="text/javascript" src="http://www.somewhere.com/afile.js"></script>
js放置的位置

异步脚本
<script type="text/javascript" async src="example2.js"></script>
<noscript>元素


第三章
语法:区分大小
标识符:

注释

严格模式

关键字和保留字

变量

局部变量和全局变量


数据类型

检测给定变量的数据类型——typeof


Boolean转换规则


Number类型
1)进制
十进制 var intNum = 55; // 整数
八进制

十六进制


2)浮点数


console.log(3.12e5); //312000
console.log(3.12e-5);//0.0000312
3)NaN


isNaN()函数

console.log(NaN==NaN); //false
console.log(NaN/10); //NaN
console.log(isNaN("benben")); //true "benben"不能转换成数值
console.log(isNaN(NaN)); //true
console.log(isNaN(10)); //false
console.log(isNaN(true)); //false
console.log(isNaN("10")); //false
数值转换
Number()
var num1 = Number("Hello world!"); //NaN
var num9 = Number(undefined); //NaN
var num8 = Number(null); //如果是 null 值,返回 0
var num2 = Number(""); //0 字符串是空的(不包含任何字符),则将其转换为 0
var num3 = Number("000011"); //11 //如果字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值
var num4 = Number(true); //1 如果是 Boolean 值, true 和 false 将分别被转换为 1 和 0
var num5=Number(0xA1); //字符串中包含有效的十六进制格式,例如"0xf",则将其转换为相同大小的十进制整数值
var num6=Number(015);
var num7=Number(2.4534);//如果字符串中包含有效的浮点格式,如"1.1",则将其转换为对应的浮点数值
parseInt()
转换
var num5 = parseInt("12.4");//12
var num6 = parseInt("12.34.5");//12
换进制
var num1 = parseInt("1010",2);/表示二进制数1010 /
var num2 = parseInt("1010",10);/ 表示十进制数1010 /
var num3 = parseInt("1010",8);/ 表示八进制数1010 /
var num4 = parseInt("156",16);/ 表示十六进制数156/
parseFloat
var num7 = parseFloat("12.34.5");//12.34
var num8 = parseFloat("12.34");//12.34
String类型
String() 传参数 适应所有类型
toString() 方法 适应与除null undefined 注意:数值类型可以传参数转换成响应的进制
var num = 10;
alert(num.toString()); // "10"
alert(num.toString(2)); // "1010"
alert(num.toString(8)); // "12"
alert(num.toString(10)); // "10"
alert(num.toString(16)); // "a
var value1 = 10;
var value2 = true;
var value3 = null;
var value4;
alert(String(value1)); // "10"
alert(String(value2)); // "true"
alert(String(value3)); // "null"
alert(String(value4)); // "undefined"
Object类型
对象其实就是一组数据和功能的集合
var o = new Object();
Object 类型是所有它的实例的基础。换句话说,Object 类型所具有的任何属性和方法也同样存在于更具体的对象中
Object 的每个实例都具有下列属性和方法。
- constructor:保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是 Object()。
- hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如: o.hasOwnProperty("name"))。
- isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型
- propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用 for-in 语句来枚举。与 hasOwnProperty()方法一样,作为参数的属性名必须以字符串形式指定。
- toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
- toString():返回对象的字符串表示。
- valueOf():返回对象的字符串、数值或布尔值表示。通常与 toString()方法的返回值相同
一元操作符
var a="10" ;
console.log(typeof +a);//number
var a=10; console.log(++a) //11
var a=10; console.log(a++) //10
布尔操作符
console.log(!"benben");//false
console.log(!0);//true
console.log(!1);//false
console.log(!"10");//false
条件操作符
var max=(3>2)?3:2;
console.log(max); //3
逗号操作符
使用逗号操作符可以在一条语句中执行多个操作
- 逗号操作符还可以用于赋值。在用于赋值时,逗号操作符总会返回表达式中的最后一项
var num = (5, 1, 4, 8, 0); // num 的值为 0
- 逗号操作符多用于声明多个变量;
var num1=2,num2=3,num3=4;
相等操作符
- 相等==和不相等!=
这两个操作符都会先转换操作数(通常称为强制转型),然后再比较它们的相等性。 - 全等和不全等
类型不同就不行 - 相等和全等的区别
console.log("55"==55); //true
console.log("55"===55); //false
条件语句
if与switch的相互转换
var i=60;
if(i==10)
{
console.log("10");
}else if(i==20){
console.log("20");
}else if(i==30){
console.log("30");
}else if(i==40){
console.log("40");
}else{
console.log("其他");
}
switch(i)
{
case 10:
console.log("10");
break;
case 20:
console.log("20");
break;
case 30:
console.log("30");
break;
case 40:
console.log("40");
break;
default:
console.log("其他");
}
循环语句
- for in遍历对象的属性
var obj={
a:1,
b:2
}
for(var i in obj){
console.log(obj[i]); /i表示对象的属性/
}
//两种方式访问对象
console.log(obj.a);
console.log(obj["a"]); //适合于遍历的访问
- while
var i=0;
while(i<100){
console.log(i++); //到99停止
}
- do{} while ()先执行一次再判断
var i=0;
do{
console.log(i++); //0
}while(i>100)
var i=0;
do{
console.log(i++); //到99停止
}while(i<100)
-
for( ; ; )
image.png

var num=0;
for (var i=0;i<10;i++){
console.log(i); //0-9
num++;
}
console.log(num); //10
*while(){}
break和continue和label
*label:代码 中添加标签,以便将来使用
var obj={
a:1,
b:2
}
name:for(var i in obj){
alert(obj[i])
break name;
}/break 语句或者continue语句将来引用/
- break:立刻退出循环强制继续循环后面的语句
var num=0;
for (var i=0;i<10;i++){
if(i%5==0){
break;
}
num++ ; /num=4/
}
*continue:退出某次循环,然后循环继续
var num=0;
for (var i=0;i<10;i++){
if(i%5==0){
continue;
}
num++ /num=8 i=5时跳出/
}
alert(num);
return语句
位于return后面的语句都不会执行
function a(){
if (true)return 10;
alert(10) /不会弹出/
}
a()
函数
函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方、
任何时候调用执行
- 函数参数(无需定义参数的类型)
arguments类数组包装传入的参数
function count(a,b,c){
alert(arguments.length)
alert(arguments[0])
}
count(14,12,13);//3 14
count(14,12);//2 14
count(14);//1 14
count();//0 undefined
image.png
-
没有重载
image.png
小结
