JS常用方法

1、iframe里的js代码怎样给父窗口元素触发某类事件

$("#newInfo").click(function() {
    $('#addInvest',parent.document).trigger('click');
});

$(".tag_obj",window.parent.document).append(strHtml);

2、{math?equation="((?x-1)*z)+1+y"?x=$nowpage?z=$pagesize?y=$key}

3、获取未来元素

$(document).on('click',"body .del_pic",function(){})

4、js创建数组

var arr = ['张三丰','户籍','中国','sex','男','age','200'];
console.log(arr);


5、js创建对象

var data = {};
data['name'] = '张三丰';
data['sex'] = '男';
data['age'] = '26';
console.log(data);
对象转为json
console.log(JSON.stringify(data));


6、数组中套对象,并查值

var tada = [{'name':'张三丰','户籍':'中国'},{'sex':'男'},{'age':'200'}];
console.log(tada[0].name);
对象属性中有方法:
var fun = {
    searchName : function(name){
        return name+':张三丰';
    },
    searchAge : function(){
        return '年龄是:200';
    },
    nation:'中国',
}
console.log(fun.searchName('姓名'));
console.log(fun.nation);

7、on()方法在被选元素及子元素上添加一个或多个事件处理程序

on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。语法:$(selector).on(event,childSelector,data,function)

8、tap()事件在用户轻击一个元素时触发。

tap 事件类似于 jQuery click() 方法。$("selector").on("tap",function(event){...})

9、one() 方法为被选元素添加一个或多个事件处理程序,并规定当事件发生时运行的函数

当使用 one() 方法时,每个元素只能运行一次事件处理程序函数。$(selector).one(event,data,function)

10、(JS)数组的常用操作

push()方法可向数组的末尾添加一个或者多个元素,并返回新数组的长度。

unshift() 方法可向数组的开头添加一个或更多元素,并返回新数组的长度;var arr = [1,2,3]  arr.push(4,5,6);  arr.unshift(-1,0,)。

pop() 方法删除数组的最后一个元素,并且返回被删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。 arr.pop()。

shift() 方法用于把数组的第一个元素删除,并返回被删除的元素的值。如果数组是空的,那么 shift() 方法不进行任何操作,返回 undefined 值。

concat() 连接数组,组成新数组   arr.concat(4,5,6),创建新数组。该方法用于在一个数组后连接另一个或多个数组。它不会改变现有的数组,返回的是连接后的新数组。  concat()方法可以接受值,也可以接受数组作为参数。 Var array1=[] ;  var array2,arry3 ;array1.concat(array2,array3,...)。

Number() 把对象的值转换为数值。

join()  将数组各个元素是通过指定的分隔符进行连接成为一个字符串。arr.join(“-”),  “1-2-3”;

split() 方法用于把一个字符串分割成字符串数组,必需指定要使用的分隔符,如果分隔符为空字符串 (“”) ,string中的每个字符都会被分割 var str = “hello-world”,str.split(“-” ),    可指定howmany参数,该参数为数值,指定返回的数组的最大长度。

sort()  对数组进行排序,返回排序后的数组对象。可接受参数,必须是函数,Var arr = [“b”,”a”,”d”] arr.sort(mysort);      function mysort(a, b{return  a-b}

splice() 用于插入、删除或替换数组的元素,首先,必须指定index,即从何处插入/删除元素。该参数为数值,为元素的下标,其次,必须指定要删除的元素的个数,可以是0。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素,如果要插入元素,可将新元素作为参数写在括号内,新元素之间用 , 隔开。 arr= [1,2,3,4],arr.splice(2,2,”5”,”6”);


11、(JS)DOM节点的操作

<div id=“div1”>   
var mydiv = document.getElementById(“div1”);
父节点: mydiv.parentNode;   
相邻:   mydiv.nextSibling;  mydiv.previousSibling
子节点: mydiv.childNodes(); firstChild()  lastChild()
document.getElementById;
doucument.getElementsByName;
document.getElementsByTagName(“li”);
document.getElementsByClassName;
创建节点:返回一个元素对象 createElement(“”)     
克隆节点,接受一个参数deep,值为true或false:   cloneNode(false)
子节点操作:
appendChild()向节点添加最后一个子节点
mydiv.appendChild(“p”);
insertBefore() 在指定的已有子节点之前插入新的子节点。
如果未指定已有子节点,会在结尾插 入 newnode。
removeChild()移除指定子节点
属性操作:
div.getAttribute(“id”)
setAttribute(“id”,”mydiv”)
removeAttribute(“id”)


12、(JS)时间操作

获取日期和时间  var mydate = new Date(“2016/8/20  00:00:00”);
getDate()               获取日 1-31
getDay ()               获取星期 0-6      
getMonth ()             获取月  0-11
getFullYear ()          获取完整年份(浏览器都支持)
getHours ()             获取小时 0-23
getMinutes ()           获取分钟 0-59
getSeconds ()           获取秒  0-59
getMilliseconds ()      获取当前的毫秒
getTime ()              返回累计毫秒数(从1970/1/1午夜)
setInterval()    
setTimeout()


13、(JS)string类型

回答下列每个函数的用法: var  str =“hello world”
indexOf(“l”);  根据字符返回位置
subStr(0, 2)     第一个参数是截取开始的位置, 第二个参数是截取的长度
subString(0,2)   第一个参数是截取开始的位置,第二个参数是结束位置
charAt (3)       根据位置返回字符
split
join             合并字符串  
slice            截取字符串  
toLowerCase
toUpperCase


14、(JS)offset与client

offsetWidth    offsetHeight
得到元素对象包括边框在内的宽度和高度
offsetWidth =  width  + border  +  padding   
div {  width:220px;  border-left:2px solid red; padding:10px;}
div.offsetWidth =  220 + 2 + 20     
clientWidth clientHeight
得到元素对象边框以内的宽度和高度,不包括边框
注意:offsetWidth,clientWidth 与 div.style.width 的区别  
offsetLeft  offsetTop    
返回对象与上级元素(最近的带有定位的父级元素)左边或上面的距离
如果父级都没有定位则以body 为准
距离从父级元素的外边距开始算


15、(JS)event 事件属性

我们学过一些事件 :   onmouseover   onmouseout.....作用于元素本身以及其子元素
onmouseenter   onmouseleave 只作用于元素本身
onmousedown   onmouseup  onclick
例:btn.onclick = function(event) {  语句 }
event  就是事件的本身。    
在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息。所有浏览器都支持event对象,但支持的方式不同。
比如鼠标操作时候,会添加鼠标位置的相关信息到事件对象中。
普通浏览器支持 event  
ie 678 支持 window.event
所以我们 采取兼容性的写法 :
var event = event || window.event;


16、(JS)scoll事件
onscroll 事件在元素滚动条在滚动时触发
window.onscroll = function() {   }
scrollTop 网页被卷去的高度。
谷歌浏览器 和没有声明 DTD  <DOCTYPE> :  
document.body.scrollTop;  
火狐 和其他浏览器   
document.documentElement.scrollTop;
ie9+  和 最新浏览器
window.pageXOffset;     pageYOffset  (scrollTop)
兼容性写法:  
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
scrollTo(x,y)  
window.scrollTo(15,15);
方法可把内容滚动到指定的坐标。
格式:
scrollTo(xpos,ypos)
xpos 必需。要在窗口文档显示区左上角显示的文档的 x 坐标。
ypos必需。要在窗口文档显示区左上角显示的文档的 y 坐标
因为我们的网页大部分都没有水平滚动条,所以,这个x 不太常用。

17、面向对象
面向对象:通过类可以创建多个具有相同属性和方法的对象。
面向对象有两种,基于类的(class-based)面向对象和 基于原型的 (prototype-based) 面向对象
在基于类的面向对象方式中,对象(object)依靠 类(class)来产生。
而在基于原型的面向对象方式中,对象(object)则是依靠 构造器(constructor)利用 原型(prototype)构造出来的。
ECMAScript中没有类的概念。ECMAScript中的对象是基于原型的面向对象方式。
面向对象的特性:1. 抽象 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。2. 封装 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。3. 继承4. 多态 多态是指两个或多个属于不同类的对象,对于同一个消息(方法调用)作出不同响应的方式
new  利用new 关键字 去声明新的对象
new运算符的作用是创建一个对象实例。这个对象可以是用户自定义的,也可以是带构造函数的一些系统自带的对象。
new 关键字可以让 this  指向新的对象
所谓"构造函数",其实就是一个普通函数,但是内部使用了this变量。对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例对象上。
Object构造函数或对象字面量都可以创建单个对象,使用同一接口创建对象,会产生大量重复代码。
工厂模式:可创建多个对象,不能解决对象识别问题。
构造函数模式:
原型模式:
prototype    原型属性
主要解决:函数因为使用非常非常多,重复执行效率太低。
Person.prototype.showName = function() {  // 用的共同的父亲
   alert("我的名字是"+ this.name);
}
写法:
类.prototype.方法  = function() {}  具体格式

可以把那些不变的属性和方法,直接定义在prototype对象上

18、encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。主要用于前段向后台传递参数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值