js的一些小总结
来源:互联网 发布:revit软件电脑配置 编辑:程序博客网 时间:2024/04/29 15:31
1、< 小于号 > 大于号 半角空格: 全角空格: 
2、script可以有多个,从上向下执行,外部引入不能再写入语句
3、变量命名规则:数字字母下划线、$,不能以数字开头,不能用保留字和关键字,标识符包括变量名和函数名。
4、字符串转换类型:parseInt( )、parseFloat( )、Number( )、问题2 parseFloat(num)
5、运算符+:两边有一边是字符串(从左到右),就是字符串连接;
“3”+5+2:352; “3”+5+2+“1”: 3521; 3+5+“2”:82;
6、逻辑运算符 && || !
alert(4 || num); // 4 (左边为真,不往后面执行)
alert(4 && num); //报错 (左边为真,执行后面报错,num没有定义)
8、嵌套
9、break continue return区别
//break 只能跳出当前那一层循环体
//continue 跳出本次循环,执行下次循环
//return 返回到函数处,后面不再执行
10、反三角打印
函数:
11、函数特性 1.封装 2.继承
12、封装的好处 ①:重复使用;②:忽略函数内部细节;③:提高代码的使用,提高开发效率,易于维护;④:调用时间随意;
13、函数的递归 1!+2!
arr.push('B');//数组末尾添加一个元素
var str = arr.pop();//移除末尾一个元素,并返回该元素
arr.unshift('TJ','HN');//数组开头添加两个元素
var str = arr.shift();//移除开头一个元素,并返回该元素
slice(start,end);
var arr = [3,4,5];
alert(arr.slice(1,3)); //4,5
1、indexOf lastIndexOf
slice substring substr
//slice和substring一样(下标,位数) 包下标,不包上标
//substr(start,length): length表示长度
//第二个参数都是可选的,若不写,表示到字符串末尾
Math.round();四舍五入
Math.ceil();向上取整
Math.random();随机数
Math.floor();向下取整
Math.pow(x,y);x的y次方
Math.abs();绝对值
Math.sqrt(num);开根号
Math.Min(num1,num2);最小值
Math.Max(num1,num2);最大值
日期
格林尼治时间1970.1.1 8:00
月份0-11和周几0-6
封装当前日期
var timestamp1 = Date.parse(new Date( )); (静态函数,由类直接出来的)
var timestamp2 = (new Date( )).valueOf( );
var timestamp3 = new Date( ).getTime( );
时间戳:毫秒计,从1970年开始到当前时间
清除
clearTimeout();
clearInterval();
bom
alert();
confirm();确认框
prompt(); 对话框
open("http://www.baidu.com"); //新窗口打开
open("http://www.baidu.com","baidu"); //baidu刷新只打开一次,相当于取了一个名字
open("http://www.baidu.com","_blank"); //新窗口打开
open("http://www.baidu.com","_parent"); //当前页面打开
location即是window也是document属性
属性 描述的URL内容
hash 如果该部分存在,表示锚点部分
host 主机名:端口号
hostname 主机名
href 整个URL
pathname 路径名
port 端口号
protocol 协议部分
search 查询字符串
history.length; //history对象中的记录数
方法
//只有使用_parent才能在同一页面打开
history.back(); //前往浏览器历史条目前一个URL,类似后退
history.forward(); //前往浏览器历史条目下一个URL,类似前进
history.go(num); //浏览器在history对象中向前或向后
DOM
封装getElementsByTagName
getAttribute //在页面元素上用户自定义的属性是无法用"."表示,只能通过getAttribute()得到
setAttribute //属性值的改变,都可以用这个
removeAttribute //移除属性
//通过style只能获取内部样式
obj.currentStyle.color //IE下的方法获取内部css
getComputedStyle(obj,false).color//非IE下,false:如果是伪类就是true,否则就是false;
文档节点(document,唯一)
元素节点(那些个标签div,p之类)
属性节点(标签的一些属性)
文本节点(空格和一些文本)
使用nodeName来获取元素的标签名称
使用nodeValue来获取文本内容
使用nodeType来判断到底哪个是节点(元素1属性2文本3)
innerHTML和nodeValue
creatElement(); //创建一个元素节点
creatTextNode();//创建一个文本节点
box.appendChild(node);//把node节点插入到box的内部最后的位置
box.insertBefore(newNode,existNode)//把newNode节点插入到existNode的前面
box.removeChild(node);
js注释:
//......:单行注释
/*.......*/:主要是函数注释
/**.......*/:文档注释
arguments.callee:表示当前函数 arguments:保存所有的实参
如果要判断一个变量a是否是一个数组,可以使用a instanceof Array instanceof 用于判断一个变量是否某个对象的实例
所有对象都是由object继承来的。
监听事件和普通事件的区别?
1,同一个元素上,对同一个事件类型,可以多次绑定不会被覆盖
2,监听事件可以对事件进行捕获
clientX: //鼠标点击位置距离可视区域浏览器最左边的位置。
offsetX://鼠标点击位置相对于目标元素target最左边的位置。 offsetY
offsetLeft://获取相对于父元素的左边距离。 offsetY
伪类和伪元素(伪对象)区别:
伪类:first-child、last-child、: link、: hover、: visited、: active、: focus
伪元素:first-letter、first-line、: before、: after
伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到。
相当于伪类是人类,伪元素是人。
location.href : 链接
2、script可以有多个,从上向下执行,外部引入不能再写入语句
3、变量命名规则:数字字母下划线、$,不能以数字开头,不能用保留字和关键字,标识符包括变量名和函数名。
4、字符串转换类型:parseInt( )、parseFloat( )、Number( )、问题2 parseFloat(num)
5、运算符+:两边有一边是字符串(从左到右),就是字符串连接;
“3”+5+2:352; “3”+5+2+“1”: 3521; 3+5+“2”:82;
6、逻辑运算符 && || !
alert(4 || num); // 4 (左边为真,不往后面执行)
alert(4 && num); //报错 (左边为真,执行后面报错,num没有定义)
alert("" && num); //空 (左边为假,后边不执行)
7、switch结构和缩进
var num = 3; swith (num){ case 1 : console.log(1); break; case 2 : console.log(2); break; default : console.log(3); break;}//没有该break时候,case语句会实现一个穿透
8、嵌套
9、break continue return区别
//break 只能跳出当前那一层循环体
//continue 跳出本次循环,执行下次循环
//return 返回到函数处,后面不再执行
10、反三角打印
函数:
11、函数特性 1.封装 2.继承
12、封装的好处 ①:重复使用;②:忽略函数内部细节;③:提高代码的使用,提高开发效率,易于维护;④:调用时间随意;
13、函数的递归 1!+2!
//n的阶乘
function add(n){ if(n==1){ return 1; }else{ return n*add(n-1); }}
14,对象、遍历
var obj = { name : "zhangsan", age : 14, sex : "boy"}//对象的遍历for(var i in obj){ document.write( i + ":" + obj[i] + "<br />");}
数组
join(数组转换成字符串),sort(排序按照ASCII排序,排数字按照首字母),concat(数组拼接),split(字符串转换成数组)arr.push('B');//数组末尾添加一个元素
var str = arr.pop();//移除末尾一个元素,并返回该元素
arr.unshift('TJ','HN');//数组开头添加两个元素
var str = arr.shift();//移除开头一个元素,并返回该元素
slice(start,end);
var arr = [3,4,5];
alert(arr.slice(1,3)); //4,5
//冒泡排序
var arr= [1,2,10,4,0]; for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length-i;j++){ if(arr[j]>arr[j+1]){ var temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } console.log(arr);字符串
1、indexOf lastIndexOf
slice substring substr
//slice和substring一样(下标,位数) 包下标,不包上标
//substr(start,length): length表示长度
//第二个参数都是可选的,若不写,表示到字符串末尾
字符串去重
var str= "aaabdefffa";str.split("");function unique(str) { var newArr= [];for(var i= 0;i< str.length;i++) { var a= str[i]; if(newArr.indexOf(a) == -1) { newArr[newArr.length] = a; }}return newArr;}console.log(unique(str).join(""));Math console
Math.round();四舍五入
Math.ceil();向上取整
Math.random();随机数
Math.floor();向下取整
Math.pow(x,y);x的y次方
Math.abs();绝对值
Math.sqrt(num);开根号
Math.Min(num1,num2);最小值
Math.Max(num1,num2);最大值
日期
格林尼治时间1970.1.1 8:00
月份0-11和周几0-6
封装当前日期
//封装一个当前时间的函数
function getTime(){var time= newDate();var year= time.getFullYear();var month= time.getMonth()+1;var date= time.getDate();return year+"-"+month+"-"+ date;}document.write(getTime());获得三种时间戳
var timestamp1 = Date.parse(new Date( )); (静态函数,由类直接出来的)
var timestamp2 = (new Date( )).valueOf( );
var timestamp3 = new Date( ).getTime( );
时间戳:毫秒计,从1970年开始到当前时间
setTime( ); 把时间戳时间重置
setTimeout("alert("1秒执行")",1000);var t = setTimeout(function(){console.log("里面");},1000);alert( t ); //timeout的一个标志数,是一个随机的setInterval();
清除
clearTimeout();
clearInterval();
bom
alert();
confirm();确认框
prompt(); 对话框
open("http://www.baidu.com"); //新窗口打开
open("http://www.baidu.com","baidu"); //baidu刷新只打开一次,相当于取了一个名字
open("http://www.baidu.com","_blank"); //新窗口打开
open("http://www.baidu.com","_parent"); //当前页面打开
location即是window也是document属性
属性 描述的URL内容
hash 如果该部分存在,表示锚点部分
host 主机名:端口号
hostname 主机名
href 整个URL
pathname 路径名
port 端口号
protocol 协议部分
search 查询字符串
history.length; //history对象中的记录数
方法
//只有使用_parent才能在同一页面打开
history.back(); //前往浏览器历史条目前一个URL,类似后退
history.forward(); //前往浏览器历史条目下一个URL,类似前进
history.go(num); //浏览器在history对象中向前或向后
DOM
封装getElementsByTagName
getAttribute //在页面元素上用户自定义的属性是无法用"."表示,只能通过getAttribute()得到
setAttribute //属性值的改变,都可以用这个
removeAttribute //移除属性
//通过style只能获取内部样式
obj.currentStyle.color //IE下的方法获取内部css
getComputedStyle(obj,false).color//非IE下,false:如果是伪类就是true,否则就是false;
封装获取内部css:
window.onload= function(){ function getAttr(id,attr){ if(id.currentStyle){ returnid.currentStyle[attr]; } return getComputedStyle(id,false)[attr]; } alert(getAttr(btn,"color"));}四个节点:
文档节点(document,唯一)
元素节点(那些个标签div,p之类)
属性节点(标签的一些属性)
文本节点(空格和一些文本)
使用nodeName来获取元素的标签名称
使用nodeValue来获取文本内容
使用nodeType来判断到底哪个是节点(元素1属性2文本3)
innerHTML和nodeValue
creatElement(); //创建一个元素节点
creatTextNode();//创建一个文本节点
box.appendChild(node);//把node节点插入到box的内部最后的位置
box.insertBefore(newNode,existNode)//把newNode节点插入到existNode的前面
box.removeChild(node);
js注释:
//......:单行注释
/*.......*/:主要是函数注释
/**.......*/:文档注释
arguments.callee:表示当前函数 arguments:保存所有的实参
如果要判断一个变量a是否是一个数组,可以使用a instanceof Array instanceof 用于判断一个变量是否某个对象的实例
所有对象都是由object继承来的。
监听事件和普通事件的区别?
1,同一个元素上,对同一个事件类型,可以多次绑定不会被覆盖
2,监听事件可以对事件进行捕获
clientX: //鼠标点击位置距离可视区域浏览器最左边的位置。
offsetX://鼠标点击位置相对于目标元素target最左边的位置。 offsetY
offsetLeft://获取相对于父元素的左边距离。 offsetY
伪类和伪元素(伪对象)区别:
伪类:first-child、last-child、: link、: hover、: visited、: active、: focus
伪元素:first-letter、first-line、: before、: after
伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到。
相当于伪类是人类,伪元素是人。
location.href : 链接
location.reload:加载
0 0
- js的一些小总结
- js的一些小demo总结
- 项目中一些js小的技巧总结
- 总结:Js中可能用到的一些小方法
- 小丸子总结node.js的一些问题
- js的一些总结
- js的一些总结
- js 的一些总结
- JS的一些总结
- JS的一些小Tips
- JS的一些小技巧
- JS的一些小技巧
- 最近的一些小总结
- 一些小功能的总结
- MiniDraw的一些小总结
- el 的一些小总结
- 大牛们的一些小总结
- FreeMarker的一些小总结
- 第十一周项目2——用二叉树求解代数表达式
- JVM结构、GC工作机制详解
- Maven项目工程目录约定
- 2、poi怎么设置表格样式
- sql查询语句
- js的一些小总结
- BP算法 很好
- sizeof的详尽计算结构体字节数方法
- 类的静态变量是线程不安全的
- 剑指Offer——知识点储备--Linux基本命令+Makefile
- 浅谈盲注中的基于时间型和布尔型的注入方法
- HDU 4046 Panda [树状数组]【数据结构】
- Android基础动画,组合动画,帧动画,布局动画,Activity跳转动画
- java设计原则 第三篇---- 接口隔离原则【Interface Segregation Principle】