函数语法

练习1:eval()
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
console.log("2+2")    //2+2
console.log(eval("2+2")) //4
var a="var b={x:1}";
eval(a)
console.log(b.x)      //1

结果: aa is not defined
var fn = function aa(){return 1+2}
console.log(aa())

应用场合1:
结果:3
var fn = "function aa(){return 1+2}"
eval(fn)
console.log(aa())
应用场合2:
如后台传:echo:"{x:1,y:2}"
返回:String
eval()后返Object
 

删除属性delete

 
 
绑定方式中:
html   <div on事件名="函数(this)">   不便于维护,不符合内容与行为分离的要求

取消事件默认行为
取消事件默认行为:e.preventDefault()
情况一:可以阻止点击出现#在地址栏中
<a id="keys" href="#">click me!</a>
okeys.οnclick=function(e){
e.preventDefault();    //可以阻止点击出现#在地址栏中
}
情况二:表单onsubmit事件中,进行最后一次完整验证,未通过,取消提交
form.οnsubmit=function(e){
var r = userName.onblur()&&password.onblur();
if(!r){
var e =window.event|| arguments[0];
if(e.preventDefault){
e.preventDefault();
}else {
e.returnValue=false;
}
}
}
情况三:H5拖住效果,取消默认行为
 
 
封装Javascript中 $
window.$=HTMLElement.prototype.$=function(selector){
return (this==window?document:this).querySelectorAll(selector);
}

nodeType  1元素节点,2属性节点,3文本节点

 ---------------------------------------------------------------------

事件坐标:事件发生时,鼠标的位置
相对于屏幕左上角:e.screenX | screenY
相对于文档显示区左上角:e.clientX | e.clientY
相对于事件绑定的元素:e.offsetX | e.offsetY

 

事件坐标:3种坐标系
1. 相对于显示器:
最大值: screen.availHeight/availWidth
鼠标位置: e.screenX/Y
2. 相对于文档显示区
最大值:window.innerHeight/Width
鼠标位置:e.clientX/x; e.clientY/y
3. 相对于父元素左上角
最大值:父元素的宽和高
鼠标位置:e.offsetX/Y

  ---------------------------------------------------------------------

 

 

jquery中的,$.each

$.each()是对数组,json和dom结构等的遍历,

 

var arr= [11,22,33,44,55]
$.each(arr,function(i,item) { //两个参数,第一个参数表示下标,第二个参数表示一维数组中的每一个数组
i //索引值
item //数组值
})

var e =window.event|| arguments[0];

var target = e.target || e.srcElement;

      if(e.preventDefault){
e.preventDefault();
}else {
e.returnValue=false;
}
--------------------------------------------------------------------------------------------------------
代码加载问题,在函数自调中找不到函数:
 

 html代码

<script src="carousel.js"></script>
<script>
    carousel('#c1',300,180)
</script>
由于先加载carousel.js文件,所以carousel("#c1",300,180)运行下边代码出错

Uncaught ReferenceError: carousel is not defined
(function(){
    function carousel(selector){
        alert(selector)
    }
})()
解决:函数自调中window.carousel设置成全局
carousel.js 代码
(function(){
    window.carousel =function(selector){
        alert(selector)
    }
})()

 

html与javascript表示方法:

$([子节点],[父节点])

html 结构如下:
<div id="c1" >
    <div class="carousel-wrap"></div>
</div>

javascript 可这样表示:

$('.carousel-wrap','#c1');

 

-------------------------------------------------------------------------------------------------------

js获取浏览器可视区域的宽度

//浏览器可视区宽高,提前要加<!DOCTYPE html>
var iWinWidth = document.documentElement.clientWidth;
var iWinHeight = document.documentElement.clientHeight;

垂直方向滚动条的高度 
iScrollTop = document.documentElement.scrollTop ||document.body.scrollTop chrome支持
 
 
 
-------------------------------------------------------------------------------------------------------
getComputedStyle
var computedStyle = getComputedStyle(myDiv); 
alert(computedStyle.backgroundColor);
alert(computedStyle.width);
oaa.style.left:一般是行内left,取不到内部样式如.style{left:0}这种形式
oaa.offsetLeft:相对当前定位元素left

-------------------------------------------------------------------------------------------------------

getAttributeNode() 方法从当前元素中通过名称获取属性节点。
   var oh1 = document.getElementById("a");
   alert(oh1.getAttributeNode("id").nodeType);//2

 





转载于:https://www.cnblogs.com/liubingyjui/p/10148201.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值