JavaScript [基础]
@(JavaScript)[HTML, JavaScript]
JavaScript相关知识
javaScript保留字
运算符
JavaScript中的常用运算符如下:
+,-,*,/,%,++,--
其中++,–与java中类似:
var j=i++;
等价于
var j=i;
i=i+1;
字符串操作
var i="www.";
var j="tcl.com";
var m=i+j;
输出www.tcl.com
var i=5;
var j="5";
var m=i+j;
输出55;
比较运算符
在JavaScript中比较运算符如下:
==,===,!=,!==,>,<,<=,>=
这里重点介绍下双等和三等,三等判断依据如下:
- 如果类型不同,就[不相等]
- 如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
- 如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]
- 如果两个值都是true,或者都是false,那么[相等]
- 如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]
- 如果两个值都是null,或者都是undefined,那么[相等]
双等判断如下:
- 如果两个值类型相同,进行 === 比较
- 如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
a、如果一个是null、一个是undefined,那么[相等]
b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较
c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较
d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。 js核心内置类,会尝试valueOf先于toString;
e、任何其他组合,都[不相等]
var i=10;
var j="10";
i===j
输出false
,i==j
输出true
;
方法
1.JavaScript中方法可以不指定参数列表,例如
function max(){
//而且JavaScript的数组中可以包含任意类型
console.log(arguments);
max(1,2,"HelloWorld");
}
利用不定参数列表可以实现查找最大值的方法,如下:
function max(a,b){
return a>b?a:b;
}
function max1(){
var maxValue = arguments[0];
for(var i=1;i<arguments.length;i++){
maxValue = max(maxValue,arguments[i]);
}
return maxValue;
}
console.log(max1(1,23,13,25,76,45));
面向对象
1.JavaScript对象添加方法
function A(){
}
//为一个对象添加附加方法
//方式1,实例方法
A.prototype.sayHello = function() {
console.log("Hello JS!");
}
//方式2,静态方法
A.sayHi = function(){
console.log("Hi JS!");
}
var a = new A();
a.sayHello();
A.sayHi();
2..JavaScript类继承
静态方法不能继承
function B(){
}
B.prototype = new A();
var b = new B();
b.sayHello();
3.闭包
function A(){
//this指的是当前A的实例,也可以被继承
this.sayNice = function(){
console.log("Nice JS!");
};
}
使用音频(HTML5)
<!-- controls代表显示播放控制菜单-->
<audio src="file_dir" controls="controls"></audio>
视频(HTML5)
视频格式浏览器支持的情况下,可使用下面标签
<video src="file_dir" controls="controls" width="" height=""></video>
Canvas(HTML5)
<!-- 声明Canvas标签 -->
<canvas width="400" height="300" id="canvas"></canvas>
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
//调整绘制方块的颜色
context.fillStyle = "#ff0000";
context.fillRect(0,0,100,100);
使用Flash CC可以制作二维动画和游戏,createJs.com