• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Javascript基础、对象、内置对象

互联网 diligentman 2周前 (04-08) 7次浏览

Javascript基础

Javascript冒泡排序

原理

Demo

function score(arr){
            for(var i=0;i<arr.length-1;i++){
                for(var j=0;j<arr.length-i-1;j++){
                    if(arr[j]>arr[j+1]){
                        var temp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = temp;
                    }
                }
            }
            return arr;
        }
        console.log(score([2,1,5,4]));

Javascript对象

创建

	/*字面量创建对象*/
	var obj = {
		username:"hongjichao",
		age:18,
		sayHi:function(){
			console.log("hi");
		}
	}
	/*调用*/
	obj.username;
	obj[username];
	obj.sayHi();

	/*new Object() 创建对象*/
	var obj1 = new Object();
	obj1.username = "hongjichao";
	obj1.age=18;
	obj1.sayHi=function(){
		console.log("hi");
	}
	/*调用*/
	obj1.username;
	obj1[username];
	obj1.sayHi();

	/*构造函数创建对象 主要针对需要创建多个重复对象*/
	function Obj2(name,age,sex){
		this.name  = name;
		this.age = age;
		this.sex = sex;
		this.sing = function(){
			console.log("changge");
		}
	}
	/*实例化 创建对象*/
	var hongjichao = new Obj2("hongjichao",18,"男");
	/*调用*/
	console.log(hongjichao.name);
	console.log(hongjichao.sex);
	hongjichao.sing();

	/*遍历对象*/
	for (var k in hongjichao){
		console.log(k);			//输出 对象的属性名
		console.log(hongjichao[k]);		//输出 对象的属性值
	}

内置对象

数学对象
	// https://developer.mozilla.org/zh-CN/  内置对象查询文档
	//数学对象
	Math.floor();//向下取整
	Math.ceil();//向上取整
	Math.random();//随机数
	
日期对象
//日期对象 
	/* 日期对象是构造函数 必须先实例化 new*/
	var date = new date();
	console.log(date);
	//日期方法
	date.getFullYear(); //返回当前年份
	date.getMonth(); //返回当前月数  月数从0开始  需要+1
	date.getDate(); //返回当前天数
	date.getDay();//返回当前周几 从0开始
	date.getHours();//返回当前小时
	date.getMinutes();//返回当前分钟
	date.getSeconds();//返回当前秒数
	var arr = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
	arr[date.getDay()]; //返回 星期几

	date.valueOf();//返回 距离1970.1.1 总的毫秒数。
	//简单写法
	var times = +new Date();
	//不需要实例化也可以获得总的毫秒数
	console.log(Date.now());
	//时间戳转换公式
	// 1秒===1000毫秒
	d = parseInt(Date.now()/1000/60/60/24);
	h = parseInt(Date.now()/1000/60/60%24);
	m = parseInt(Date.now()/1000/60%60);
	s = parseInt(Date.now()/1000%60);
数组对象
	//字面量创建数组对象
	var arr = [];
	//数组对象
	var arr = new Array(); //空数组
	var arr1 = new Array(); //创建空数组,长度为2,等于创建2个空的数组元素
	var arr2 = new Array(2,3); // 等价于出创建了 [2,3]数组

	//检测是否为数组
	instanceof //运算符 可以用来检测是否为数组
	console.log(arr instanceof Array);
	Array.isArray("参数") //检测是否为数组
	
	//添加删除数组元素
	push()	//在数组后面添加一个或者多个数组元素 返回值为数组的新长度
	unshift();//在数组前面添加一个或多个数组元素 返回值为数组的新长度
	pop();//删除数组最后一个元素,返回删除的那个元素
	shift();//删除数组第一个元素,返回删除的那个元素
	var arr = [1,2,3];
	arr.push(4,"hhh");

	//筛选数组
	//把数组中低于3的删除,剩余的放到一个数组里面
	  var arr = [6,4,98,2,8,10];
      var newarr = [];
        for(var i=0;i<arr.length;i++){
            if(arr[i]<8){
            //给新数组添加元素
                newarr.push(arr[i]);
            }
        }
        console.log(newarr);

	//数组排序
	reverse(); //翻转数组 返回新数组
	var arr = [1,2,3];
	arr.reverse();  //输出arr=[3,2,1]
	sort();//数组排序 返回新数组
	var arr = [7,5,9,2];
	arr.sort(function(a,b){
		return a-b; //升序排列
		return b-a; //降序排列
	});

	//数组索引
	indexOf(); // 返回数组元素索引
	var arr = ["red","blue","purple"];
	arr.indexOf("blue"); //返回索引号2 只返回第一个满足条件的索引号 找不到元素返回-1
	lastIndexOf(); //从后往前找到参数索引号,找不到为-1

	//数组转换为字符串
	toString(); //将数组转换为字符串
	join("分割符"); //添加分割符
	var arr = [1,2,3];
	arr.toString(); //结果 1,2,3
	arr.join("-");//结果 1-2-3 数组转换为字符串

	//其他数组转化
	concat(); //连接多个数组/字符串 返回新的数组/字符串
	slice("参数1""参数2");//数据截取 返回被截取项目的新数组/字符串
	splice("第几个开始","要删除的个数");//返回被删除的项目的新数组/字符串,会影响到原数组/字符串
	

Javascript基础、对象、内置对象

数组去重
	//遍历旧数组,把旧数组的数据去新数组查询,当新数组没有该数据就存到新数组,用indexOf()和push()
	function unique(arr){
            var newarr = [];
            for(var i=0;i<arr.length;i++){
                if(newarr.indexOf(arr[i])){
                    newarr.push(arr[i]);
                }
            }
            return newarr;
        }

        var demo = unique(["p","u","r","p","l","e"]);
        console.log(demo);
字符串对象
	arr.toString();	//转化字符串
	str.charAt(index);//根据位置返回字符
	str.charCodeAt(index);//根据位置返回字符对应的ascii码
	str[index];//根据位置返回字符 H5新增
	
	var arr = "hong";
	//简单类型转化为复杂类型
	//等同于
	var arr = new String("hong");

	//字符串不可变 不要大量拼接字符串,占内存资源
	//表面看起来变量的字符串变了,实际是指向地址变了
	//字符串的所有方法,都是返回新的字符串,原先字符串不可变,依旧存在;

	
	str.concat(str1,str2....);//连接多个字符串
	str.substr(start,length);//从start位置开始(索引),length取的个数
	str.slice(start,end);//从start位置截取到end位置,end取不到
	str.substring(start,end)//从start位置截取到end位置,end取不到
	str.replace("a","b");//替换字符 a被替换字符,b替换为的字符 只能替换第一个
	str.split("分割符");//把 字符串转化为数组
	str.toUpperCase();  //转换大写
	str.toLowerCase();	//转换小写
	

简单类型与复杂类型

  • 简单数据类型:值类型 string、number、boolean、underfined
  • 简单数据类型:null 用typeof null 返回一个空对象object
  • 复杂数据类型:引用类型

程序员灯塔
转载请注明原文链接:Javascript基础、对象、内置对象
喜欢 (0)