标签:返回值 方法 大于 小数点 exp argument 技术 out 符号
一、JavaScript的引入方式
<body> <!--引入方式一,直接编写--> <script> alert("hello world"); </script> <!--引入方式二,导入文件--> <script src="hello.js"></script> </body>
说明:alert为打印的意思,访问页面,弹出框,打印输出的内容
二、JavaScript的变量
1)声明变量时不用声明变量类型. 全都使用var关键字;
<body> <script> var a; var b=2; alert(a); // undefined alert(b); // 2 </script> </body>
2)一行可以声明多个变量,并且可以是不同类型
<body>
<script>
var name="user", age=20, job="运维工程师";
alert(name)
alert(age)
alert(job)
</script>
</body>
3) (了解) 声明变量时 可以不用var. 如果不用var 那么它是全局变量.
4) 变量命名,首字符只能是字母,下划线,$美元符 三选一,且区分大小写,x与X是两个变量)))
5 )变量还应遵守以下某条著名的命名规则:
Camel 标记法 首字母是小写的,接下来的字母都以大写字符开头。例如: var myTestValue = 0, mySecondValue = "hi"; Pascal 标记法 首字母是大写的,接下来的字母都以大写字符开头。例如: Var MyTestValue = 0, MySecondValue = "hi"; 建议用匈牙利类型标记法 在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。例如,i 表示整数,s 表示字符串,如下所示“ Var iMyTestValue = 0, sMySecondValue = "hi";
6)JavaScript语言编写的基础规范
每行结束可以不加分号. 没有分号会以换行符作为每行的结束
注释 支持多行注释和单行注释. /* */ //
复制代码 a=1;b=2; a=1 b=2;------错误 a=1 b=2 //推荐 a=1; b=2; { a=1; b=2; //推荐加tab a=1; b=2; }
7)变量定义的本质
var s="hello" var s2=new String("hello2") //本质 alert(s) alert(s2)
三、JavaScript的数据类型
1)数字类型(Number)
简介 最基本的数据类型 不区分整型数值和浮点型数值 所有数字都采用64位浮点格式存储,相当于Java和C语言中的double格式 能表示的最大值是±1.7976931348623157 x 10308 能表示的最小值是±5 x 10 -324
整数: 在JavaScript中10进制的整数由数字的序列组成 精确表达的范围是?-9007199254740992 (-253) 到 9007199254740992 (253) 超出范围的整数,精确度将受影响 浮点数: 使用小数点记录数据 例如:3.4,5.6 使用指数记录数据 例如:4.3e23 = 4.3 x 1023 16进制和8进制数的表达 16进制数据前面加上0x,八进制前面加0 16进制数是由0-9,A-F等16个字符组成 8进制数由0-7等8个数字组成 16进制和8进制与2进制的换算
# 2进制: 1111 0011 1101 0100 <-----> 16进制:0xF3D4 <-----> 10进制:62420 # 2进制: 1 111 001 111 010 100 <-----> 8进制:0171724
2)字符串(String)
简介 是由Unicode字符、数字、标点符号组成的序列 字符串常量首尾由单引号或双引号括起 JavaScript中没有字符类型 常用特殊字符在字符串中的表达 字符串中部分特殊字符必须加上右划线常用的转义字符 \n:换行 \‘:单引号 \":双引号 \\:右划线
String数据类型的使用
特殊字符的使用方法和效果
Unicode的插入方法
<script> var str="\u4f60\u597d\n欢迎来到\"JavaScript世界\""; alert(str); </script>
// 你好
// 欢迎来到JavaScript世界
3)布尔型(Boolean)
简介 Boolean类型仅有两个值:true和false,也代表1和0,实际运算中true=1,false=0 布尔值也可以看作on/off、yes/no、1/0对应true/false Boolean值主要用于JavaScript的控制语句,例如 if (x==1){ y=y+1; }else { y=y-1; }
4)Null & Underfined
Undefined 类型 Undefined 类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。 当函数无明确返回值时,返回的也是值 "undefined"; Null 类型 另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。 尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。
如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。 var person=new Person() var person=null
四、JavaScript的函数
1)函数的创建方式一
function 函数名 (参数){
?函数体;
return 返回值;
}
//another way:
var 函数名 = new Function("参数1","参数n","function_body");
//============================================================
function func1() { alert(123); } func1() // 调用函数 function func2() { alert(123); return 8; } var ret=func2() alert(ret)
2)函数创建方式二
// var func2=new Function("参数1","参数2","函数体") var add=new Function("a","b","alert(a+b)"); add(1,2); //3
3) 函数创建方式三
function add() { alert(arguments.length) // 5 console.log(arguments.length) console.log(arguments) //网页审查代码,Console } add(1,2,3,4,5)
4)匿名函数
var func4=function () { alert(123) } func4()
5)自执行函数
(function(arg){ console.log(arg); })(‘123‘) //网页审查代码,Console
6)异常处理
try { //这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行 } catch (e) { // 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。 //e是一个局部变量,用来指向Error对象或者其他抛出的对象 } finally { //无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。 }
7)嵌套函数
var city = ‘beijing‘; function func(){ var city = ‘shanghai‘; function inner(){ var city = ‘shenzhen‘; console.log(city); } inner(); } func(); // shenzhen
var city = ‘beijing‘; function Bar(){ console.log(city); } function func(){ var city = ‘shanghai‘; return Bar; } var ret = func(); ret(); //beijing
8)闭包,思考题
var city = ‘beijing‘; function func(){ var city = "shanghai"; function inner(){ console.log(city); } return inner; } var ret = func(); ret(); // 单独shanghai //================================= var city = ‘beijing‘; function Bar(){ console.log(city); } function func(){ var city = ‘shanghai‘; return Bar; } var ret = func(); ret(); //单独beijing // 但是 组合的实际结果 beijingbeijing
五、函数的控制语句
1)if语句
//针对2种可能性 var week="Sunday" if (week=="Sunday"){ alert("8") }else{ alert("not 8") }
//针对多种可能性 var week="周六" if (week=="Sunday"){ alert("7") }else if(week=="周六") { alert(" 6") }else{ alert("not 6 7") }
2)switch,case语句
var x=3; switch (x){ case 1:y="星期一"; break; case 2:y="星期二"; break; case 3:y="星期三"; break; case 4:y="星期四"; break; case 5:y="星期五"; break; default: y="未定义"; } alert(y)
3)for 循环语句
var a=[100,"hello",true] for (var i in a){ console.log(i) console.log(a[i]) } //网页审查元素,Console for (var i=1;i<10;i=i+1){ console.log(i) } //网页审查代码,Console obj={"11":"111","22":[1,2]} alert(typeof(obj)); // object alert(obj); // [object Object] for (var i in obj){ console.log(i); console.log(obj[i]); } //网页审查元素,Console
var ret=0
function add() {
console.log(arguments.length)
console.log(arguments)
for (var i in arguments){
ret+=arguments[i]
}
return ret
}
var ret=0; for (var i=1;i<101;i=i+1){ ret+=i; } alert(ret) // 5050
// 字符串的拼接,拼接成html的标签 // <h1>hello<br></h1> for (var i=1;i<=6;i++){ document.write("<H"+i+">hello</H "+i+"> "); document.write("<br>"); }
for循环的特殊例子
for (var i=1; i<=9; i++) { setTimeout( function timer(){ console.log( i ); },1000 ); } // 结果是9 个 10 ===》因为for循环之前先执行了i++。由于执行速度很快,再执行后面的代码。此时i=10。再执行的for循环
4)while语句
var i=1; while (i<=6){ document.write("<H"+i+">hello</H "+i+"> "); document.write("<br>"); i++; }
六、JavaScript的数据类型转换
1)基本类型转换
JavaScript属于松散类型的程序语言 变量在声明的时候并不需要指定数据类型 变量只有在赋值的时候才会确定数据类型 表达式中包含不同类型数据则在计算过程中会强制进行类别转换 数字 + 字符串:数字转换为字符串 数字 + 布尔值:true转换为1,false转换为0 字符串 + 布尔值:布尔值转换为字符串true或false
2)强制类型转换函数
函数parseInt: 强制转换成整数 例如parseInt("6.12")=6 ; parseInt(“12a")=12 ; parseInt(“a12")=NaN ;parseInt(“1a2")=1 函数parseFloat: 强制转换成浮点数 parseFloat("6.12")=6.12 函数eval: 将字符串强制转换为表达式并返回结果 eval("1+1")=2 ; eval("1<2")=true
七、JavaScript的类型查询函数
ECMAScript 提供了 typeof 运算符来判断一个值是否在某种类型的范围内。可以用这种运算符判断一个值是否表示一种原始类型:
如果它是原始类型,还可以判断它表示哪种原始类型
函数typeof :查询数值当前类型? (string / number / boolean / object ) 例如typeof("test"+3) "string" 例如typeof(null) "object " 例如typeof(true+1) "number" 例如typeof(true-false) "number"
八、ECMAScipt 运算符
加(+)、 减(-)、 乘(*) 、除(/) 、余数(% ) 加、减、乘、除、余数和数学中的运算方法一样 例如:9/2=4.5,4*5=20,9%2=1 -除了可以表示减号还可以表示负号 例如:x=-y +除了可以表示加法运算还可以用于字符串的连接 例如:"abc"+"def"="abcdef"
1)举例说明: a++ 和 ++a的区别
var a=1; var b = a++; //先赋值后加减 a+=1 ===》先让 b=a ,,即b=1。。在a+=1,,即a=2 alert(a) // 2 alert(b) // 1 var b= ++a // 先加减后赋值。。。===》因为a=2,先++a,,所有a=3,,再b=a,所有b=3 alert(a) // 3 alert(b) // 3
var x=1; alert(x++); //1 ====》首先输入x,即打印出来了1,,但是又执行了x=x+1,让x=2了,成为了下一步执行的条件 alert(++x) //3 ====》先执行了x=x+1,x=3,输出了3。x=3也成为了下一步执行的条件 alert(--x) //2 ====》同理,x=2,成为了下一步的执行条件 alert(x--) //2 ====》因为x=2,先输入了x=2.。但是执行了x=x-1,即x=1,成为了下一步的条件 alert(x) // 1
2、基于if语句的逻辑运算
var w=1; if(w<10 && w>0){ ++w; alert(w) } // 2
if (null && true){ alert(1); //不出结果,说明为假 } if (new Object()){ alert(1) }
3)逻辑运算符
等于 ( == ) 、不等于( != ) 、 大于( > ) 、 小于( < ) ?大于等于(>=) 、小于等于(<=) 与 (&&) 、或(||) 、非(!) 1 && 1 = 1 1 || 1 = 1 1 && 0 = 0 1 || 0 = 1 0 && 0 = 0 0 || 0 = 0 !0=1 !1=0
逻辑 AND 运算符(&&)
逻辑 AND 运算的运算数可以是任何类型的,不止是 Boolean 值。
如果某个运算数不是原始的 Boolean 型值,逻辑 AND 运算并不一定返回 Boolean 值:
逻辑 OR 运算符(||)
与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值
4)二进制位移运算
//3<<2 //00000011 ===>3 //00001100 ===>12 //12>>1 //00001100 ===>12 //00000110 ===>6 alert(3<<2); // 12 alert(12>>1) // 6
5)一元加减法
var a=1; var b=1; a=-a; //a=-1 var c="10"; alert(typeof (c)); c=+c; //类型转换 alert(typeof (c)); // ------------------- var d="yuan"; d=+d; alert(d);//NaN:属于Number类型的一个特殊值,当遇到将字符串转成数字无效时,就会得到一个NaN数据 alert(typeof(d));//Number //NaN特点: var n=NaN; alert(n>3); alert(n<3); alert(n==3); alert(n==NaN); alert(n!=NaN);//NaN参与的所有的运算都是false,除了!=
6)赋值运算符
赋值 = JavaScript中=代表赋值,两个等号==表示判断是否相等 例如,x=1表示给x赋值为1 if (x==1){...}程序表示当x与1相等时 if(x==“on”){…}程序表示当x与“on”相等时 配合其他运算符形成的简化表达式 例如i+=1相当于i=i+1,x&=y相当于x=x&y
举例说明
2 == “2” 2 === “2” 4 != “4” 4 !== “4” var a = 2; var b = 4; var c = a<b | --b>--a; var c = a<b || --b>--a; var c = a<b &&--b>--a; var c = a<b & --b>--a;
7)等性运算符
执行类型转换的规则如下:
在比较时,该运算符还遵守下列规则:
8)关系运算符,比较运算符(重要)
a、字符串比较
var bResult = "Blue" < "alpha"; alert(bResult); //输出 true
// 字符串 "Blue" 小于 "alpha",因为字母 B 的字符代码是 66,字母 a 的字符代码是 97。
b、字符串的数字比较
var bResult = "25" < "3"; alert(bResult); //输出 "true" // 这段代码比较的是字符串 "25" 和 "3"。两个运算数都是字符串,所以比较的是它们的字符代码("2" 的字符代码是 50,"3" 的字符代码是 51)。
c、字符串的数字与数字比较
var bResult = "25" < 3; alert(bResult); //输出 "false" // 当有一个数字时,字符串 "25" 将被强制转换成数字 25,然后与数字 3 进行比较
小结:
1、比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型.
2、比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较.
Math.abs(-10); // => 10:绝对值 Math.ceil(0.6); // => 1.0:向上取整数 Math.floor(0.6); // => 向下取整数 Math.round(0.6); // =>:1.0:四舍五入 Math.random(); // => 0-1随机数 Math.max(1, 3, 5); // => 返回最高值 Math.min(1, -3, 50); // => 返回最低值 Math.pow(2, 3); // => 8:2的3次方 Math.PI; // => π:圆周率 Math.sin(3); // => 3的正弦值 Math.sqrt(30); // => 平方根 Math.tan(100); // => 正切 Math.acos(10); // => 反余弦值 Math.cos(100); // => 余弦值 Math.exp(100); // => e的100次幂
九、字符串的截取
1)string的slice()用法,提取字符串的一部分,返回一个新字符,不改变原来字符串(和array.slice用法一致)。
var str1 = "hello world"; str1.slice(1, 4); // "ell":截取下标1到下标4,不包含最后一位 str1.slice(1); //"ello world":截取下标1以后的所有字符 str1.slice(-3); //"rld":截取后三位
// 需要加 alert 才能看到输出结果
2)substr
var str1="hello world"; alert(str1.length); // 11 alert(str1.substr(1,5)); // ello
a、自动创建字符串对象:
var str1
=
"hello world"
; // 调用字符串对象属性或方法时自动创建对象,用完就丢弃
b、手工创建字符串对象
var str1
=
new String(
"hello word"
); // 采用new 创建字符串对象 str1,全局有效
3)substr 和 substring的区分
//x代表字符串对象 //start表示开始位置 //length表示截取长度 //end是结束位置加1 //第一个字符位置为0 //x.substr(start, length) //x.substring(start, end) var str1="abcdefgh"; var str2=str1.substr(2,4); var str3=str1.substring(2,4); alert(str2); // cdef alert(str3); // cd
4)slice方法截取
var str1="abcdefgh"; var str1="abcdefgh"; var str2=str1.slice(2,4); var str3=str1.slice(4); var str4=str1.slice(2,-1); var str5=str1.slice(-3,-1); alert(str2); // cd alert(str3); // efgh alert(str4); // cdefg alert(str5); // fg
十、字符串的其他操作(替换,分割,连接)
1)替换字符串
//x.replace(findstr,tostr) var str1="abcdefgh"; var str2=str1.replace("cd","aaa"); alert(str2); //结果为"abaaaefgh"
2)分割字符串
var str1="一,二,三,四,五,六,日"; var strArray=str1.split(","); alert(strArray[1]); //结果为"二"
3)连接字符串
//x代表字符串对象 //y=x.concat(addstr) //addstr为添加字符串 //返回x+addstr字符串 var str1="abcd"; var str2=str1.concat("efgh"); alert(str2); //结果为"abcdefgh"
标签:返回值 方法 大于 小数点 exp argument 技术 out 符号
原文地址:https://www.cnblogs.com/linu/p/8397735.html