1、Math.PI
console.log(Math.PI);//3.141592653589793
2、Math.random 返回 [0, 1)范围的数;
Math.floor(); 向下取整数;
// 返回一个[start, end)范围的随机的整数
function random_int (start, end) {
var num = start + (end - start) * Math.random(); // 返回的是[start, end) 小数
// 小数变-->整数,向下取整
return Math.floor(num);
}
console.log(random_int(10, 15));
3、Math.sin, Math.cos, Math.tan 三角函数
// 数学的正弦, 余弦,正切,单位都是数学的弧度,而不是度,方向是数学的正方向,逆时针方向。
console.log(Math.sin(Math.PI / 4)); // sin 45
console.log(Math.cos(Math.PI / 6)); // cos 30
console.log(Math.tan(Math.PI / 6)); // 1 / 1.73
4、角度转弧度,弧度转角度;
// 度 [0, 360) 弧度[0, 2*PI)
function degree_to_r(degree) {
// PI --> 180
return (degree / 180) * Math.PI;
}
function r_to_degree(r) {
// PI--> 180;
return (r / Math.PI) * 180;
}
var r = degree_to_r(90);
console.log(r); // PI / 2;
console.log(r_to_degree(r));
6:、反三角函数Math.asin, Math.acos, Math.atan;
// sin(30度) 0.5, asin(0.5) --> 0.5对应的弧度
// [-0.5PI, 0.5PI]
r = Math.asin(0.5);
console.log(r_to_degree(r));
r = Math.acos(0.5);
console.log(r_to_degree(r));
r = Math.atan(1);
console.log(r_to_degree(r));
7、Math.atan2(y, x), 返回一个坐标(y, x)对应的角度;(-PI, PI];
// (x, y) == (1, 1);
r = Math.atan2(1, 1);
console.log(r_to_degree(r));
// (x, y) == (-1, 1) // (y, x)
r = Math.atan2(1, -1);
console.log(r_to_degree(r));
r = Math.atan2(0, -1);
console.log(r_to_degree(r));
8、Math.sqrt 开根号;
// sqrt:求给定一个数的正平方根
console.log(Math.sqrt(16));
// 计算两点之间的距离
function vector_distance(x1, y1, x2, y2) {
var len = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
return Math.sqrt(len);
}
console.log(vector_distance(0, 0, 1, 1));
1、array.length; 获取数组的长度;
var array_num = [1, 2, 3];
// 求数组的长度
console.log(array_num.length);
2、遍历一个数组; for(var key in array);
// 方法1
for(var i = 0; i < array_num.length; i ++) {
console.log(array_num[i]);
}
//方法2
for(var key in array_num) {
console.log(key + ":--->" + array_num[key]);
}
3、向数组末尾加入一个元素: push
array_num.push(10);
console.log(array_num);
4、查找对象在数组中所对应的索引; indexof()
console.log(array_num.indexOf(10));
5、删除数组的某个元素; splice(value,n)
// splice(开始索引,要删除的个数)
array_num.splice(2, 1);
console.log(array_num);
6、数组的排序:快速排序
(1) sort函数 sort(function(param1,param2))
(2) 自己定义一个比较函数,在排序的时候调用比较函数,返回值为-1,param1排在param2左边;返回值为1,param1排在param2右边;返回值为0,位置不变。
(3) 默认是由小到大的排列
array_num = [2, 3, 5, 9, 4, 1, 6, 8, 6, 7, 7];
array_num.sort(function(lhs, rhs) {
if (lhs < rhs) {
// return -1;
return 1;
}
else if (lhs > rhs){
// return 1;
return -1;
}
else {
return 0;
}
});
console.log(array_num);
7、随机打乱一个数列;
var random_array = [1, 2, 3, 4, 5, 6, 7];
random_array.sort(function(lhs, rhs) {
if (Math.random() < 0.5) {
return -1;
}
else {
return 1;
}
});
// end
console.log(random_array);
8、随机的从一堆的数据里面抽取一个值
var ball_set = [1, 2, 3, 4, 5, 6, 7, 8];
ball_set.sort(function(lhs, rhs) {
if (Math.random() < 0.5) {
return -1;
}
else {
return 1;
}
});
console.log(ball_set[0]);
1、遍历一个表:for(key in table)
var student = {
xiaoming: 20,
xiaohong: 25,
xiaotian: 19,
xiaoluo: 27,
};
for(var key in student) {
console.log(key, student[key]);
}
2、删除表中的数据:delete list_data[4]
delete student["xiaoluo"];
for(var key in student) {
console.log(key, student[key]);
}
1、str.length
var str = "HelloWorld!!!!";
console.log(str.length);
2、str.indexof():返回子串首次出现的位置
// 返回参数字符串在字符串的所在第一次出现的位置。如果没有,那么返回-1
var index = str.indexOf("World");
console.log(index);
index = str.indexOf("xiaoming");
console.log(index);
3、str.replace(/Microsoft/,”W3School”)
// 重新生成一个字符串对象;
var temp2 = str.replace("World", "WORLD");// HelloWorld!!!! HelloWORLD!!!!
console.log(str, temp2);
4、toLowerCase(); 把字符串转换为小写
toUpperCase();把字符串转换为大写
var temp3 = str.toUpperCase();
console.log(str, temp3);