javascript是什么?
- javascript可以控制所有常用的浏览器,而且javascript是是世界上最重要的变成语言之一。
- javascript是一种基于对象和事件驱动的客户端脚本语言。
- JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
1. js的基本数据类型:
Number类型(数字类型)
用来表示整数和浮点数值,还有一种特殊的数值即NaN。String类型(字符串类型)
用于表示由零个或多个16位Unicode字符组成的字符序列,即字符串。字符串可以有双引号(” ”)或单引号(‘ ’)表示。Boolean(布尔类型)
表示事情的对错,可参与逻辑运算,boolean对象只表示两个值“”true"或"false"undefined类型
undefined 属性用于存放 JavaScript 的 undefined 值,表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性。Null类型
null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针,所以当你使用typeof操作符检测null值时会返回”object”。Object类型
“万物皆对象”
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...
在 JavaScript 中,对象是拥有属性和方法的数据。
此外,JavaScript 允许自定义对象。
2. js的Math对象
Math.max(x,y) //返回 x 和 y 中的最高值。 参数为两个及以上
Math.min(x,y) // 返回 x 和 y 中的最低值。
Math.ceil(x) //方法可对一个数进行上舍入。
Math.ceil()//方法执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。
Math.floor(x) //方法可对一个数进行下舍入。
Math.round(x) //方法可把一个数字舍入为最接近的整数。
Math.random() //random() 方法可返回介于 0 ~ 1 之间的一个随机数。 [0,1)
Math.abs(x) //返回数的绝对值。
Math.exp(x) //exp() 方法可返回 e 的 x 次幂的值。
document.write(Math.exp(1) + "<br />")//2.718281828459045
Math.log(x) //返回数的自然对数(底为e)。
document.write(Math.log(1) + "<br />")//0
Math.pow(x,y) // pow() 方法可返回 x 的 y 次幂的值。
Math.sqrt(x) // sqrt() 方法可返回一个数的平方根。
3.数组
数组的值是有序集合
length 属性可设置或返回数组中元素的数目。(从1开始)
[1,2,3].length ==3
instanceof 运算符来判断一个对象是不是数组。
arr instanceof Array
push() 方法在数组末尾增加一个或多个元素。
a = [];
a.push("zero");
a.push("one","two") ==>a=["zero","one","two"]
pop() 方法用于删除末尾最后一项并返回数组的移出元素。
var arr = ["hello","world","2018"];
console.log(arr.pop()) ==>2018
console.log(arr)//["hello","world"]
join() 方法将数组中所有元素都转化为字符串并且连接在一起。
var arr = [1,2,3];
a.join(); ==>1,2,3
a.join(' '); ==>1 2 3
a.join('.'); ==>1.2.3
reverse() 方法将数组中元素的顺序颠倒,返回逆序的数组。
var arr = [1,33,42,53,64];
console.log(arr.reverse()) //[64,53,42,33,1]
sort()将数组中的元素进行排序,并且返回排序后的数组。
var arr = ["a","s","r","f","c"];
console.log(arr.sort())//["a","c","f","r","s"];
concat() 方法合并两个数组,并返回合并后的新数组。
var arr1 = [1,2,3,5,6,7];
var arr2 = arr1.concat(11,12,13);
console.log(arr2)//;原来的数组和合并的数组 [1,2,3,5,6,7,11,12,13];
console.log(arr1)//本身不发生改变 [1,2,3,5,6,7]
slice()方法返回指定数组的一个片段或子数组,它的两个参数分别指定片段的开始和结束的位置(不包含该元素)。
var arr = [1,2,3,4,5];
console.log(arr.slice(1))//从下标1开始往后的所有元素==>[3,4,5]
console.log(arr.slice(0,2))//从下标1开始到2 不包含==>[1,2]
splice() 方法用于插入、删除或替换数组的元素。并返回删除的部分数组。
var str = [1,2,4,6,2,3];
console.log(str.splice(0,2));//两个参数是截取,返回截取的值,对原来的数组进行改变
str.splice(0,2,1);//1,4,6,2,3 第一个参数 开始下标截取,第二个参数 结束的下标,第三个参数替换的值
str.splice(2,1,22,33);//第一个参数 开始的下标,第二个参数,替换的个数,第三第四个参数 是替换的内容。(把下标2这一个值替换成22,33)[1,4,22,33,2,3]
unshift()在数组的头部添加一个或多个元素,最后返回数组新的长度。
var arr = [1,2,3,4,5];
console.log(arr.unshift(0))//[0,1,2,3,4,5]
shift()删除数组的第一个元素并将其返回。
var arr = [1,2,3,4,5];
console.log(arr.shift())//[2,3,4,5]
map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。
var str = [1,2,3,4,5];
var aee = str.map(function(item){
return item*item//对数组本身进行遍历然后每一项进行操作
})
console.log(aee);//[1,4,9,16,25]
indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。
var arr = [1,2,4,2,6,7,3,5];
console.log(arr.indexOf(2));//返回第一次查找到2的小标,返回1
console.log(arr.indexOf(2,3))//从下标2开始查找3的初始下标从0开始计数,返回3
lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。
var str= [1,2,4,2,6,7,3,5];
console.log(str.lastIndexOf(2))//数组的末尾开始向前查找 ==>3
forEach():对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。参数都是function类型,默认有传参,参数分别为:遍历的数组内容;第对应的数组索引,数组本身。
var str= [1,2,4,2,6,7,3,5];
str.forEach(function(x,index,a){//x 代表当前遍历的值 index是这个值的小标,a是当前的数组
// console.log(x,index,a)
})
filter():“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
var aee=[1, 16, 484, 1089, 4, 9];
var n= aee.filter(function(x, index) {
return index % 3 === 0 || x >= 100;//遍历每一项然后进行过滤
});
console.log(n);//[1, 484, 1089]
every():判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
var aee = [17,1018,1990,1000,600]
var arr= aee.every(function(x){
// return x<2000
// })
// console.log(arr)//true
some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(x) {
return x < 3;
});
console.log(arr2); //true
var arr3 = arr.some(function(x) {
return x < 1;
});
console.log(arr3); // false
希望能对大家有用,请多多支持!爱你们呦~