1.使用空数组利用indexOf去重 - 首先定义一个空数组 - 然后循环遍历数组逐个对比新数组中是否存在该值,如果不存在则push1var arr = [1,1,1,2,2,2,3,3,3];
2var nArr = [];
34for(let i=0; i<arr.length;i++){
5if(nArr.indexOf(arr[i]) === -1) nArr.push(arr[i]);
6 } 2.循环嵌套去重法 - 两个循环嵌套for去判断每个值和其他值是否相同,如果相同则删除,此操作直接在原数组中删除var arr = [1,1,1,2,2,2,3,3,3]...
1 代码的易变性在javascript中一切都是对象。函数也可以成为实例对象的属性in (a in arr) 判断数组对象的属性是否存在 返回 true/false insertBefore() 方法在您指定的已有子节点之前插入新的子节点。appendChild() 向里添加子节点。 __proto__对象内部属性nodeType 属性返回以数字值返回指定节点的节点类型。12覆盖init构造器的原型对象,从而实现跨域访问 //通过call或apply方法,将原本属于Animal对象的showName()方法交给对象...
1.document.write(”");为 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById(”表单中元素的ID号”).name(或value) 6.一个小写转大写的JS: document.getElementById(”output”).value = document.getElementById(”input”).value.toUpperCase(); 7.JS中...
//经典继承:已知一个对象obj,现在要创建另外一个对象newObj,对象newObj要继承obj的所有方法和属性//分析:1.newObj.__proto__=obj 2.创建对象除了字面量的方式就是使用构造函数的方式function create(){functionFun(){};Fun.prototype=obj;returnnewFun();}//ES5中Object.create(obj) (IE9版本以上才支持)//封装一个方法兼容个版本浏览器都能执行Object.create的方法if(typeofObject.create !==‘function‘){//判断当前浏览器是否...
概述在项目获取某个元素的值会出现undefined,所以对这种情况要有特殊处理。可通过下面的代码判断是否为undefined类型。1if (typeof(reValue) == "undefined") {
2 alert("undefined");
3}
45typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined" 总结发现有那么段时间没大量的使用js了,有些生疏了。看来得抽出点时间,复习一下了。原文:http://www.cnblogs.com/wolf-s...
相等操作符:相等==:这个操作符会先转换操作数,强制类型转换,然后再比较他们的相等性。null == undefined //true
NaN == NaN //false"5" == 5 //true 全等===: 全等不会发生强制类型转变,同时会比较类型。"5" === 5 //falsenull === undefined //false条件操作符varible = boolean_expression ? true_value : false_value;//对 boolean_expres...
数据容量单位转换(KB B MB GB....)function bytesToSize(bytes) {
if (bytes === 0) return '0 B';
var k = 1000, // or 1024
sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
i = Math.floor(Math.log(bytes) / Math.log(k));
return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
}原文:http://blog.51cto.com/dd118/2136481
一个是如何创建JSON:var obj = {};
obj[‘name‘] = value;
obj[‘anotherName‘] = anotherValue;如果要创建多级的JSON,则:ips[ipId] = {};
ips[ipId][‘name‘] = value;
ips[ipId][‘anotherName‘] = anotherValue;注意要用bracket[]而不能用点. 来访问json objectbracket虽然写起来麻烦一些,但是可以避免很多错误!http://stackoverflow.com/questions/4071499/dynamically-add-variable-name-value-pairs-to-json-object...
构造函数new对于使用。代表创建对象。此外,它可以被用作普通的函数调用,因为它也是一个功能。function Person(name)
{this.name=name;
}Person(12);
alert(window.name);//12
能够看到当构造函数被当成普通函数调用的时候。this代表的是全局的window对象。非常显然把构造函数当成普通函数调用,不是好的做法。 也没有什么道理要这么做。
实际中应该杜绝这样奇怪的使用方法,以免产生奇怪的问题。
function Person(name,sex) ...
this关键字通常在函数内部或对象内部使用。函数或方法声明的位置不同,会影响this关键字的含义。通常来说,this指向当前函数所操作的对象。例子如下: 1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>this关键字</title> 6</head> 7<body> 8<script> 9/*10 window.onload 加载事件在页面内容加载完成之后立即执行相应的函数
11 this.person这里的this指document对象
12 而this.name和this.nibbles...
思考 关于逗号选择器并不是很重要的一个知识点,但是我在写这篇博客查阅资料的时候发现一个很奇怪的问题。在《JavaScript高级程序设计》这本书中说:逗号选择器多用于声明多个变量,除此之外还可以用于赋值。在 MDN中并不认为 var 语句中的逗号属于逗号操作符,而将其看作是 var 语句中的特殊符号。姑且认为var中的逗号可以理解为逗号分隔,不是逗号运算符。 使用逗号运算符可以在一条语句中执行多个操...
1.标识符和保留字 标识符:一般为变量名称;可以由数字&字母&$&下划线构成;首字符不能为数字; 保留字:一般为javascript内部有特殊含义的单词,或者即将加入的新属性或方法;不可以当标识符名称使用;当为对象内部属性时,要加引号;2.注释 javascript注释分为两种: 单行注释 //注释的内容 多行注释 /*注释的内容*/ 当多行注释写为/*!注释的内容*/时代码压缩工具不会删除此注释;3.严格模式 在函数或者...
//星期function formatWeek(n){ let myDate = new Date(); let theDay=myDate.getDay() let week=[‘星期一‘,‘星期二‘,‘星期三‘,‘星期四‘,‘星期五‘,‘星期六‘,‘星期日‘] let year=myDate.getFullYear(); let month=myDate.getMonth()+1; let day=myDate.getDate(); return week[n] }//日期function formatDay(AddDayCount) { let myDate = new Date(); myDate.setD...
递归调用简介: 递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用,递归调用一种解决方案,一种是逻辑思想,将一个大工作分为逐渐减小的小工作。 通俗的说,就是:自己调用自己,从后面往前推。递归调用包含: 1. 终止条件 => 包裹在if之中的 return; 2. 运算条件 => 算法; => 极简算法;; 3. 返回结果 => return ;递归调用的典...
之前一直对json格式语法分不清,今天查了一些资料,做总结如下:json对象与javascript对象字面量javascript对象字面量//开发人员创建对象字面量的标准方式var person={name:"xx",age:10
};
//也可以这样写var person={"name":"xx","age":10
};上述对象字面量的json格式:{
"name":"xx",
"age":10
}json对象与javascript对象字面量区别:1.json没有声明变量(json中没有变量的概念)2.没有末尾的分号(因为这不是javascript语句,...