(四) Javascript
1. 注释
- //
- /* */
变量
var +变量名 +“;”
var +变量名 +“=”+value +“;”
建议变量命名方式 : camelCase(骆驼拼写法)
首单词小写,其他单词首字母大写
var firstName;
var secondplayerScore;
7. Number
var a = 10 - 2;
….
- increment
my = my + 1;
- decremnet
my = my - 1;
my–;
引用
” “或者 ’ ‘
backslashes(反斜杠) 转义”
“\”“表示一个””和 ‘组合使用
“about ’ you ’ “
字符串操作符
“+”
var myString = “This is the start. ” + “This is the end.”;“+=” :不用重复定义
var myString = “This is the start. ”
myString += “This is the end.”
length属性
- nameLength = name.length
Zero-based
- javascript 从 0开始计数
name[0 ]…
字符串的不变性
以下是错误的,无法改变
var my = "Job";
var my[0] = "B";
可以通过一下方法:
var my = "Job";
var my = "Bob";
数组
- Array :可以包括不同类型元素
var myArray = ["string",26]
- Index
var myArray = ["string",26]
myIndex = myArray[0];
- 与string不同,array可以通过index改变
var myArray = ["string",26]
myIndex[0] = "interesting";
- push()函数
在array尾部增加value;
var myArray = ["string",26]
myArray.push(4)
- pop()函数
在array尾部删除value;
var myArray = ["string",26]
myArray.pop();
shift()
pop()用于最后一个函数,shift()作用于第一个函数,弹出元素unshift()
push()用于最后一个函数,unshift()作用于第一个函数,添加元素
函数
- 定义
function functionName() {
console.log("Hello World");
}
- 参数
形参:parameters (函数定义中的参数)
实参:arguments (函数调用中的参数)
变量
- 全局变量 <局部变量
- Boolean
boolean 不需要引用
“true” 或者 “false”是错误的。
操作符
- 相等操作符 “==”
注意:在比较的时候,相等操作符会转换value的数据的类型
1 == 1 // true
1 == 2 // false
1 == '1' // true
"3" == 3 // true
- 严格的相等操作符 ‘===”
value和数据类型都要相同
3 === 3 // true
3 === '3' // false
- 不等于操作符 !=
1 != 1 //flase
1 != '1' //false
- 严格的不等于操作符 !==
1 !== 1 //flase
1 !== '1' //true
条件语句
- switch语句
注意default用法
switch(num) {
case value1:
statement1;
break;
case value2:
statement2;
break;
...
default:
defaultstatement
- 多种情况有相同的结果
switch(val) {
case value1:
case value2:
case value3:
statement1;
break;
case value4:
case value5:
statement2;
break;
...
返回函数的boolean
function isEqual(a,b) {
if (a===b) {
return true;
}else {
return false;
}
}
function isEqual(a,b) {
return a===b;
}
Javascript 对象
- 定义
var myDoy = {
"name": "Puppy",
"legs": 4,
"tails": 1,
"friends": ["food"]
};
- 访问 “.”操作符,或者访问数组的形式“[ ]”
var myBlog = {
"name": "Summous"
"adress": "CSDN"
}
- 可以通过上述两种方式添加属性,改变属性
- 删除属性
delete myDog.tails;
- 使用对象“查找”表格
在有限条件下, 可以代替if/else或者swith
var lookup = {
"alpha": "Adams",
"bravo": "Boston",
"charlie": "Chicago",
"delta": "Denver",
"echo": "Easy",
"foxtrot": "Frank"
};
result = lookup[val];
return result;
}
phoneticLookup("charlie");
- 判断对象有无属性
存在返回true,不存在,返回false
myDog.hasOwnProperity("bark");
产生随机数
Math.random()
产生一个0到1的随机小数(不会产生0)Math.floor()
把value转换为值最接近value但小于value的整数- Math.round()
- 产生一个范围在0到9的随机整数
Math.floor(Math.random() * 10)
- 产生一个myMin到mymax范围的随机整数
function(myMin,myMax) {
return Math.floor(Math.random * (myMax - myMin + 1)) + myMin
}
正则表达式
- /the/gi
“/”: 开始
“\” : 结束
“g”: global,返回所有的匹配字符串,而不是第一个
“i” : ignore ,忽略匹配的大小写
var testString = "We are the first team arrived there in the shchool.";
var expression = /the/gi;
var count = testString.match(expression).length;
- \d 表示匹配一个0到9的数字
- \d+ 表示匹配至少一个数字
var expression = /\d+/g;
- \s 匹配一个空格符 ” “
- 反转匹配“\”+ 大写字母
\S 表示匹配除了空格符意外的字符
Javascript 对象(二)
- 创建对象方法
var car = {
"wheels": 4,
"enginers": 1,
"seats": 1
}
//构造器函数 constructor ,this用于构造器创的建新对象
var car = function(){
this.wheels = 4;
this.enginers = 1;
this.seats = 1;
}
- 构造器函数创建实例, new调用构造器
var car = function(){
this.wheels = 4;
this.enginers = 1;
this.seats = 1;
}
myCar = new car();
myCar.nickname = "Strong";
- 用构造器创建带参数的对象
var car = function(wheels,enginers,seats){
this.wheels = wheels;
this.enginers = enginers;
this.seats = seats;
}
myCar = new car(6,4,1);
- 私有属性
var car = function(wheels,enginers,seats){
var wheels = wheels;
var enginers = enginers;
var seats = seats;
}
- 创建私有属性
var Bike = function() {
var gear = "a"; //创建private属性
//创建public方法
this.getGear = function() {
return gear;
};
this.setGear = function(value) {
gear = value;
};
矩阵的函数方法
- map( )方法
oddArray =[1,2,3,4];
var newArray = oddArray.map(function(val) {
return val + 3;
};
console.log(newArray); //returns [4,5,6,7]
- reduce( )方法
reduce
var array = [4,5,6,7,8];
var singleVal = 0;
singleVal = array.reduce(function(previousVal,currentVal) {
return previousVal + currentVal;},singleVal);
// singleVar is 30
- filter( )方法
矩阵的元素在回调函数中返回为true,则保留
为fasle,则被滤除。
var oldArray = [1,2,3,4,5,6,7,8,9,10];
var newArray = oldArray.filter(function(val) {
return val < 6});
// nerArray is [1,2,3,4,5]
- sort( )方法
sort
var array = [1, 12, 21, 2];
array.sort(function(a,b){
return a-b;
}); //[1,2,12,21]
var array = [1, 12, 21, 2];
array.sort(function(a,b){
return b-a;
}); //[21,12,2,1]
- reverse( )方法
var array = [1,2,3,4,5,6,7];
var newArray = [];
newArray = array.reverse();//[7,6,5,4,3,2,1]
- concat( )方法
var oldArray = [1,2,3];
var newArray = [];
var concatMe = [4,5,6];
newArray = oldArray.concat(concatMe);//[1,2,3,4,5,6]
- split( )方法
分割字符串为数组
var string = "Split me into an array";
var array = [];
array = string.split(' '); //["split","me","into","an","array"]
- join( )方法
组成字符串
var joinMe = ["Split","me","into","an","array"];
var joinedString = '';
joinedString = joinMe.join(" ");//"Split me into an array"