导入文件路径范例 file://F:/js_html_test/image/tisssmg.jpg win
window.alert('') 弹窗
console.log('') 浏览器控制台输出(打印)
style.fontSize = '35px' 算出数据变为35像素展示
style.display='block' 等于打开隐藏内容
<p id="demo" style="display:none">html上看不见我,要有一个打开效果才行</p> 这个P字段隐藏
<br> 换行符
var 声明一个变量
var a = 1;
var a; 不影响a=1,命名变量以;号分割。
>>>计算:
= 赋值
+= 1+=1 == 1+1
-= 7-=1 == 1-1
* 乘
/ 除
% 取模
++ 递增
-- 递减
*= 前乘后
/= 前除后
typeof 和python type一样 测数据类型
a = 'i'+ 4 + 2
b = 4 + 2 + 'i'
a 结果为 i42
b 结果为 6i
var x = "中国是瓷器的故乡,因此 china 与\"China(中国)\"同名。";
转义序列 \" 在字符串中插入双引号
字符串和数字拼接,数字在前,先算数字,数字在后,拼接数据。
<button οnclick="this.innerHTML=Date()">时间是?</button> 直接改变按钮的操作
txt.length 加length 返回txt字符串的长度
\ 您可以用反斜杠在文本字符串中进行换行。
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China"); indexOf() 方法返回指定文本首次出现的位置
var res = str.match(/ain/g);
在字符串化中执行对字母“ain”(/ain)的全局(/g)搜索,并显示匹配项。
str.replace("Microsoft","W3School");
Microsoft”替换为“W3School
text.toUpperCase() 将字符串转换成大写
text.toLowerCase() 将字符串转换成小写
var str = "a,b,c,d,e,f";
var arr = str.split(","); split按照,将字符串分割成数组
>>>数字:
var a = 188888888888888888 会被精确到15位,最多显示15位
浮点数计算不一定每时每刻都精确
要想浮点数计算正确,可以先将浮点数经过乘除来计算之后,能拿到精确的计算值
除法乘法减法 都会尝试把字符串转化成数字,加法不会。
除法乘法减法 都会尝试把字符串转化成数字,加法不会。
100/'ddd' 用非数字字符串进行除法会得到 NaN(Not a Number)
isNaN() 方法判断是否为数字 是数字返回TRUE
NaN 是非数字,但是typeof NaN 返回 number
Infinity 指达到无法计算值时,返回的值,可做参考
0/任何数 都对于Infinity
前缀为0x的常量会被解析为十六进制
toString() 方法以基数 2 到 36 输出字符串
valueOf() 返回为数字
toExponential() 方法返回一个字符串,包含进行舍入的数字并使用指数表示法。
toFixed() 方法将数字四舍五入为给定的位数。
toPrecision() 方法返回一个字符串,其中包含一个用指定长度写的数字.
Number() 方法把变量转换为数字.还可以把日期转换为数字.
parseInt() 把字符串转换为数字,整数型的。(数字在前可以转换前面的数字,数字在后前面有字符串无法转换,得到一个NaN)
parseFloat() 把字符串转换为数字,可以有浮点类型的数据。与上面一样,只会转换第一个,如 parseFloat('111.11 DDD')
var x = Number.MIN_VALUE; 得到js最小值
var x = Number.MAX_VALUE; 得到js最大值
var x = Number.POSITIVE_INFINITY; 表示数据无穷大 Infinity
var x = Number.NEGATIVE_INFINITY; 表示数据负无穷大 -Infinity
var x = 1 / 0; 计算结果等于无穷大 Infinity
var x = -1 / 0; 计算结果等于负无穷大 -Infinity
100 / "Apple" 数字除以非字符串,结果等于NaN
var x = 6;
document.getElementById("demo").innerHTML = x.MAX_VALUE; 对变量、表达式或值使用数字属性 undefined
>>>数字方法:
Math.PI 返回圆周长与直径的比率 3.14159....
Math.round(x) 返回 x 四舍五入到最接近的整数的值,只取第一位的 如 4.5 = 5 4.4 = 4 4.4999999 = 4
Math.pow(x,y) 返回 x 的 y 次幂的值 Math.pow(8,2) == 8^2 = 64
Math.sqrt(x) 返回 x 的平方根: Math.sqrt(64) = 8
Math.abs(x) 返回 x 的绝对值: Math.abs(-4.4); = 4.4
Math.ceil(x) 把数字上舍入为最接近的整数 Math.ceil(4.00001) = 5
Math.floor(x) 数字下舍入为最接近整数的值 Math.ceil(4.00001) = 4
Math.sin(x) 返回 x(以弧度计)的正弦 "The sine value of 90 degrees is " + Math.sin(90 * Math.PI / 180); = 1
Math.cos(x) 返回 x(以弧度计)的余弦 "The cosine value of 0 degrees is " + Math.cos(0 * Math.PI / 180); = 1
Math.max() 返回参数列表中的最高值: Math.max(0, 150, 30, 20, -8, -200); = 150
Math.min() 返回参数列表中的最低值: Math.min(0, 150, 30, 20, -8, -200); = -200
Math.random() 生成0-1之间的随机数 如 0.8620973249208497
Math.floor(Math.random() * 10) 返回 0 与 9 之间的随机整数(均包含)
Math.floor(Math.random() * 100) 返回 0 与 99 之间的随机整数(均包含)
Math.floor(Math.random() * 101) 返回 0 与 100 之间的随机整数(均包含)
Math.floor(Math.random() * 10) + 1) 返回 1 与 10 之间的随机整数(均包含)
Math.floor(Math.random() * 100) + 1) 返回 1 与 100 之间的随机整数(均包含)
Math.floor(Math.random() * (max - min)) + min;
getRndInteger(0,10) 返回0-9之间的的随机数 只包含x不包含y
Math.floor(Math.random() * (max - min + 1) ) + min;
getRndInteger(0,10) 返回0-10之间的的随机数 x和y都可以被包含
>>>日期
Date() 获取当前日期
getFullYear() 返回日期和完整年份 var d = new Date(); d.getFullYear()
getTime() 函数返回1970.1.1开始到现在的毫秒数: 1564543577982
setFullYear() 方法设置日期对象的年份: var d = new Date(); d.setFullYear(2020); 返回Fri Jul 31 2020 11:26:54 GMT+0800 (中国标准时间)
toUTCString() 方法将日期转换为 UTC 字符串(日期显示标准) var d = new Date(); d.toUTCString();
getDay() 方法将周名作为数字返回 var d = new Date(); d.getDay(); 返回周几数字,星期的数
如 var d = new Date(); var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; days[d.getDay()];
可以使用数组来显示星期的名称:
>>>JavaScript 数组
var cars = ["Audi", "BMW", "porsche"]; 创建数组
document.getElementById("demo").innerHTML = cars[0]; 获取数组索引0开始
cars[0] = "Volvo";
document.getElementById("demo").innerHTML = cars; 替换数组中索引为0的内容
document.getElementById("demo").innerHTML = cars.length; == 4 长度为4
cars=["BMW","Volvo","Saab","Ford"];
for (var i=0;i<cars.length;i++){
document.write(cars[i] + "<br>");
} JavaScript 中for循环的使用方法
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;
function myFunction() {
fruits.push("Kiwi");
document.getElementById("demo").innerHTML = fruits;
}
使用push()向数组中添加元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;
function myFunction12() {
fruits[fruits.length] = "Lemon";
document.getElementById("erer").innerHTML = fruits;
} length 属性提供了一种在不使用 push() 方法的情况下将新元素附加到数组的简便方法。
var fruits, text, fLen, i;
fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[6] = "Lemon";
fLen = fruits.length;
text = "";
for (i = 0; i < fLen; i++) {
text += fruits[i] + "<br>";
}
document.getElementById("demo").innerHTML = text; 添加具有高索引的元素可以在数组中创建未定义的“孔”。
fruits instanceof Array;
Array.isArray(fruits); 两种方法判断是否为数组,是数组时返回 true 否则返回false
fruits.push(); 向数组fruits中添加一个元素元素
fruits.pop(); 删除fruits数组中的最后一个元素
fruits.join(); 方法将数组元素连接成一个字符串
fruits.unshift(); 添加元素到数组的开头
fruits.shift(); 删除数组中第一个元素
var myGirls = ["Emma", "Isabella"];
var myBoys = ["Jacob", "Michael", "Ethan"];
var myChildren = myGirls.concat(myBoys); concat() 方法用于合并(连接)数组(连接两个数组)
var myChildren = arr1.concat(arr2, arr3); concat() 方法用于合并(连接)数组(连接三个数组) 可以连接多个
fruits.splice() 两个参数,第一个是插入数组中的哪一个位置,第二个不是必填参数,插入进去是否替换,替换几个
fruits.toString() 把数组转换为字符串,逗号隔开
fruits.unshift() 方法将新元素添加到数组的开头
fruits.shift() 方法删除数组的第一个元素(并将所有其他元素“移位”到左侧)
>>>>>JavaScript 数组排序
fruits.sort() 按照字母的顺序进行排序首字母
fruits.reverse() 方法反转数组中的元素。
fruits.sort();fruits.reverse(); 通过组合 sort() 和 reverse(),您可以按降序对数组进行排序。
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;
function myFunction() {
points.sort(function(a, b){return a - b});
document.getElementById("demo").innerHTML = points;
} 以升序对数组进行排序
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;
function myFunction() {
points.sort(function(a, b){return b - a});
document.getElementById("demo").innerHTML = points;
} 以降序对数组进行排序
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = points;
function myFunction() {
points.sort(function(a, b){return 0.5 - Math.random()});
document.getElementById("demo").innerHTML = points;
} 对数组进行随机排序
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = myArrayMin(points);
function myArrayMin(arr) {
return Math.min.apply(null, arr);
} Math.min 算出最小值
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML = myArrayMax(points);
function myArrayMax(arr) {
return Math.max.apply(null, arr);
} Math.max 算出最大值
var cars = [
{type:"BMW", year:2017},
{type:"Audi", year:2019},
{type:"porsche", year:2018}
];
displayCars();
function myFunction() {
cars.sort(function(a, b){return a.year - b.year});
displayCars();
}
function displayCars() {
document.getElementById("demo").innerHTML =
cars[0].type + " " + cars[0].year + "<br>" +
cars[1].type + " " + cars[1].year + "<br>" +
cars[2].type + " " + cars[2].year;
} 按年份排序数组
var cars = [
{type:"BMW", year:2017},
{type:"Audi", year:2019},
{type:"porsche", year:2018}
];
displayCars();
function myFunction() {
cars.sort(function(a, b){
var x = a.type.toLowerCase();
var y = b.type.toLowerCase();
if (x < y) {return -1;}
if (x > y) {return 1;}
return 0;
});
displayCars();
}
function displayCars() {
document.getElementById("demo").innerHTML =
cars[0].type + " " + cars[0].year + "<br>" +
cars[1].type + " " + cars[1].year + "<br>" +
cars[2].type + " " + cars[2].year;
} 按照字符串的首字母排序
>>>数组迭代
Array.forEach() 数组中的每个元素调用一次函数方法
Array.map() 数组元素执行函数来创建新数组
Array.filter() 数组中元素通过函数测试的所有数组元素创建一个新数组
Array.reduce() 数组中所有数字的总和,并且和加分运算法则一样
Array.reduceRight() 和上面这个功能一样,只是从又往左累计相加
Array.every() 数组中的是否全部满足条件,通过测试 通过返回True,否则返回false
Array.some() 数组中的是否部分满足条件,或者含有满足条件,通过测试返回True,否则返回false
Array.indexOf() 在数组中查询该元素存在在哪个位置,返回对应的位置数字,
Array.lastIndexOf() 在数组中如果存在多哥相同的元素,将返回最后的那个元素的位置参数
Array.find() 在数组中找到满足条件的第一个元素,并且将他打印出来
Array.findIndex() 在数组中找到满足条件的第一个元素,并且将他的索引打印出来
constructor 返回属性变量的对象构造器函数 例如 "john".constructor function String() { [native code] }
String(x) 方法把数字转换为字符串。
toString(x) 方法把数字转换为字符串。
Array.isArray() 确认变量参数是否为数组
isDate() 检测是否为日期(自制的)
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
Boolean( 9 > 8 ) 判断条件是否正确,正确则返回True 否则返回false
Boolean() 拥有一切真值的布尔值是True,0的布尔值为false,-0的布尔值为false
布尔值为false的类型有:
0,-0,'',undefined,null,false,NaN 这些值在布尔类型里都是false