javascript篇
文章平均质量分 65
YinghaoGuo
趁着年轻去努力,别对不起儿时吹过的牛逼。
展开
-
HTML事件属性
Window 事件属性 针对 window 对象触发的事件(应用到 标签): 属性 值 描述 onbeforeprint script 文档打印之前运行的脚本 onafterprint script 文档打印之后运行的脚本 onbeforeunload script 文档卸载之前运行的脚本 onerror script 在错误发生时运行的原创 2017-04-28 10:45:35 · 501 阅读 · 0 评论 -
vue双向绑定
单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。有单向绑定,就有双向绑定。如果用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定。什么情况下用户可以更新View呢?填写表单就是一个最直接的例子。当用户填写表单时,View的状态就被更新了,如果此时MVVM框架可以自动更新Model的状态,那就转载 2017-08-03 16:49:11 · 497 阅读 · 0 评论 -
forEach和$.each()以及$().each()的用法
内容及注释如下; forEach与each用法比较 1 2 3 4 5 var group = [1,3,5,7,9]; group.forEach(function(value,index,array){ //function()中原创 2017-05-18 10:35:30 · 3858 阅读 · 0 评论 -
对jquery中on,bind,delegate,live添加事件的总结
首先将测试html和css列上,以便测试(有些代码没用,仅仅做对比,方便观察变化): #color_div{ border: 1px solid black; width: 50px; height:50px; } #div_one{ margin-t原创 2017-04-28 16:24:37 · 1313 阅读 · 0 评论 -
var与ES6中const、let声明的变量的区别
好久以前的研究,今天再来回顾一下。首先我们比较一下使用var声明的变量和不使用var声明的变量的区别:使用var声明的变量声明前调用,那么该变量的值为undefined;不使用var声明的变量声明前调用直接报错Uncaught ReferenceError:xxx is not difined;使用var声明的变量不可delete,不使用var声明则可以delete掉释放空间。(实原创 2017-06-02 14:27:18 · 4645 阅读 · 2 评论 -
js中this的绑定与丢失
一直以来,this指向的问题都困扰着我,老是不清楚this到底是指向调用对象还是指向window,今天做个了结。问题又下面这道题引出:var obj={ id:"awesome",cool:function coolFn(){ console.log(this.id); }};obj.cool()//awesomevar id="not awesome";setTimeout原创 2017-07-28 17:07:07 · 4169 阅读 · 1 评论 -
js中typeof与instanceof
1.typeoftypeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)判断,因为如果a不存在(未声明)则会出错,typeof的运算数未定义,返回的就是原创 2017-08-15 16:55:10 · 281 阅读 · 0 评论 -
事件委托/事件冒泡/事件捕获&&阻止事件冒泡/阻止事件默认行为
要了解事件委托,首先要了解事件流的概念和事件执行流程:DOM同时支持两种事件模型:捕获型事件和冒泡型事件 ,并且每当某一事件发生时,都会经过捕获阶段->处理阶段->冒泡阶段(有些浏览器不支持捕获) ;事件的捕获阶段是由上层元素到下层元素的顺序依次。而冒泡阶段则正相反。当事件触发时body会先得到有事件发生的信息,然后依次往下传递,直到到达最详细的元素,这就是事件捕获阶段。原创 2017-05-19 17:46:43 · 4033 阅读 · 0 评论 -
表单中<select>的高级用法
下拉框: 1 2 3 4 5 6下面是对下拉框的基本操作:$(document).ready(function() { //绑定下拉框change事件,当下来框改变时调用 SelectChange()方法 $("#selectID").change(function() { SelectChange(); }原创 2017-07-27 18:07:37 · 2776 阅读 · 0 评论 -
console输出的一些有价值的栗子
//*******************************************************************************1 for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 1000); } console.log(i);//5 5555,在setTimeout执行之前,for循环早就执行完了原创 2017-07-25 18:05:01 · 375 阅读 · 0 评论 -
JS的array.slice()和array.splice()的使用
JS中有两个操作数组的函数:slice(start,end)和splice(start,length,insert_one,insert_two......),估计其意义大家都懂,简单说一下:array.slice(start,end)函数是取array数组中指定的一些元素:根据数组下标start和end,两个参数为取值的开始和结束下标,取出的值不包括end位置的值,生成一个新数组作为原创 2017-07-20 17:37:21 · 5652 阅读 · 0 评论 -
call和apply用法(待修正)
call和applay用法原创 2017-06-27 11:08:46 · 283 阅读 · 0 评论 -
js数字的货币格式表示法(每三位一个逗号分隔)
要显示如下格式的数字,即数字的金钱表示法:小数部分保留两位小数,整数部分每隔三位使用一个“,”分隔代码如下: //保留两位小数并且整数部分三位一个逗号分隔符的数字金钱标准表示法: //这里假设我们即不知道输入数字的整数位数,也不知道小数位数 var dealNumber = function(str){ //为防止浮点型数字在扩大倍数过程中出现n个9的浮动,将原创 2017-06-27 13:26:15 · 17042 阅读 · 3 评论 -
原生js为DOM添加方法
原生js为所有dom元素添加一个名为addEvent的方法,类似于jQ的$.fn.extend(addEvent:function(){......});if (window.HTMLElement) { // 使用原型扩展DOM自定义事件 HTMLElement.prototype.addEvent = function(type, fn, capture) {转载 2017-08-08 16:42:20 · 2853 阅读 · 0 评论 -
document.body.scrollWidth、document.documentElement.scrollWidth系列宽高值对比
最近深入研究了一下body.scrollWidth、document.documentElement.scrollWidth等等类似的一系列浏览器宽高的值,清晰总结了一下,还是通过代码的方式说明问题: body{border: 10px solid red;margin: 0;padding: 0;} #one{ min-wi原创 2017-06-02 18:13:29 · 5973 阅读 · 0 评论 -
jq中的toggle和toggleClass
最近用到元素类的切换和div的显示与隐藏,用愚蠢的方法做完了项目,才发现有更简洁的方法。下面是css和html部分: div{ background-color: black; width:300px; height: 300px; } .one{原创 2017-05-01 19:53:38 · 2962 阅读 · 0 评论 -
关于jQ中$(selector).data(name,value)方法的使用
在HTML5中标签新增了自定义的data-*属性,相信这个大家都有了解,但是获取data-*值得时候大家怎么获取的呢?比如:nothing怎样获取data-pid和data-uid的值?$('p').attr('data-pid'));这样的话就太low了,jQ专门提供了获取自定义data-*值的方法:$('p').data('pid'); //获取该p标签的data-pid值,原创 2017-05-25 11:05:38 · 4516 阅读 · 0 评论 -
console.log()打印object却显示为字符串[object Object]
今天打印一个object对象的时候遇到一个问题,解决了好久,最后却发现是一个白痴问题: var obj = new Object({ name:'Bob', age:15, grade:'A' }); console.log("Bob"+obj); console.log(obj);上面js代码运行之后就会发现:第一行co原创 2017-05-18 14:20:08 · 30144 阅读 · 8 评论 -
jQ的.height()方法/按百分比设置block元素垂直居中/设置logo背景色
最近在做项目,遇到了挺多问题,都是以往没踩过的坑,今天来分1.一个设置为display:none;的div,在用.height()方法获取不到它的高,获取到的高度为0.2.当按百分比设定一个元素的宽度时,它是相对于父容器的宽度计算的,但是,对于一些表示竖向距离的属性,例如 padding-top , padding-bottom , margin-top , margin-bott原创 2017-03-25 09:38:55 · 1138 阅读 · 0 评论 -
input输入框和textarea文本框的value改变事件
如果写过检测input或者textarea输入框文本检测的人一定知道onchange或者jq的change方法检测文本变化是检测不到的,因为该事件是在文本框获得焦点,并且改变其中的内容之后再失去焦点才能触发的,也就是说输入框单纯获得焦点,或者单纯失去焦点,或者获得焦点的时候和失去焦点的时候内容一样,onchange方法是都不会触发的,这就涉及了输入框属性改变的问题。如果在输入框中输入内容,在其原创 2017-06-03 11:46:53 · 18342 阅读 · 0 评论 -
js获取用户来路url及跳转链接
在链接跳转中,我们知道返回上一个页面的方法:return back to last url 或者使用history.back();这个方法就只能返回上一级url而已了。但是如果某些按钮使用这种返回式方法,其链接返回上一级或几级url的时候,可能会出现一些问题,比如一个好友直接发送过来一个页面的网址链接,或者通过微信分享过来的链接页,当打开该页面的时候,它是不存在上一级url的,这时再点原创 2017-06-03 13:38:25 · 22751 阅读 · 0 评论 -
js 获取自适应高度div的高度
忙了将近一个月的论坛官网终于做好了,今天在调试bug,遇到了一个问题,设计稿(左)和实际(右): 好了大家发现问题了吧,就是最下方的版权块定位问题,方案是在屏幕中最新回复数量少或者无回复时,屏幕无滚动,版权块在屏幕最下方,如果评论过多,则版权块距离最后一条考评论的margin-top是固定的80px,然候要虑到要金融各种屏幕大小的手机,如果用fixed定位是绝对不行的,因原创 2017-04-07 15:03:22 · 10303 阅读 · 1 评论 -
jq中$()对html元素选择总结
jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组转载 2017-05-18 11:00:42 · 2336 阅读 · 0 评论 -
js和jq的insert/append/after/before添加节点和文本
$('#div_one').append('<span>新添加1</span>'); //在元素中最后一个子节点后添加(无子节点就直接添加) $('<span>新添加2-1</span>').appendTo($('#div_one'));//意义同上 $('<span>新添加2-2</span>').appendTo('#div_one');//此写法也可以 $('<span>新添加3</span>').insertBefore('#span_on原创 2017-04-28 18:03:20 · 11147 阅读 · 0 评论 -
jq中trigger和triggerHandler用法
我们经常要在js中手动触发一些事件,比如控制点击某个按钮,通过按钮的click事件执行一些操作等等。一般情况下我们使用js触发点击事件写法如下:$('#but').bind('click',function(){ $('#a_but').click(); //当点击#but时,触发#a_but的点击事件});使用trigger触发点击事件的写法如下:$('#but'原创 2017-06-09 11:13:09 · 4527 阅读 · 0 评论 -
javascript立即执行函数表达式(IIFE)
IIFE:Immediately-Invoked Function Expression ——立即执行函数表达式。先说说javascript中什么是立即执行函数表达式,顾名思义,就是一个马上执行的函数,但这条执行的式子是一条表达式。正常情况下,我们定义一个function,再调用它,如下:function fun(){ ......}fun();如果不写fun()这一句,f原创 2017-06-14 16:58:32 · 1255 阅读 · 0 评论 -
ajax跨域,这应该是最全的解决方案了
本文来源:撒网要见鱼1. 前言从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么,于是现在重新梳理了一下。个人见识有限,如有差错,请多多见谅,欢迎提出issue,另外看到这个标题,请勿喷~2. 题纲关于跨域,有N种类型,本文只专注于ajax请求跨域(,ajax跨域只是属...原创 2019-08-02 15:32:22 · 1618 阅读 · 0 评论