博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
概念整理3
阅读量:6827 次
发布时间:2019-06-26

本文共 3106 字,大约阅读时间需要 10 分钟。

1跨域的实现方式

1JSONP(JSON with Padding),这种方式主要是通过动态插入一个script标签。浏览器对script的资源引用没有同源限制,同时资源加载到页面后会立即执行(没有阻塞的情况下)

2使用HTML5中新引进的window.postMessage方法来跨域传送数据

3<img>,图片可以从任何URL中加载,所以将img的src设置成其他域的URL,即可以实现简单的跨域,可以使用onload和onerror事件来确定是否接受到了响应。

4通过修改document.domain来跨子域

2事件捕获,事件冒泡,事件代理

1 
2 父亲3
孩子
4

1 var parent = document.getElementById('parentdiv');2 var child= document.getElementById('childdiv');3 parent.addEventListener('click',function(){alert('父亲被点击了');},true);//第三个参数默认为false,即在冒泡阶段执行4 child.addEventListener('click',function(){alert('孩子被点击了');},false); //父亲被点击了 //孩子被点击了

如果不想让事件向上冒泡,可以在监听函数中调用event.stopPrapagation()来完成,这样父亲节点就捕捉不到该事件了

事件代理:

1 
    2
  1. 列表内容1
  2. 3
  3. 列表内容2
  4. 4
  5. 列表内容3
  6. 5
  7. 列表内容4
  8. 6
  9. 列表内容5
  10. 7
1 var zz=document.getElementById('olist');2 zz.addEventListener('click',function(){3     console.log(event.target.innerText);4 },false);

 3:柯里化

1         function curry(fn){2             var args=Array.prototype.slice.call(arguments,1);3             return function(){4                 var innerArgs=Array.prototype.slice.call(arguments);5                 var finalArgs=args.concat(innerArgs);6                 return fn.apply(null,finalArgs);7             };8         }

4:Bind()函数

1 function bind(fn,context){2     return function(){3         return fn.apply(context,arguments);4     }5 }

 5:Cookie

1 //设置 2 function setCookie(name, value, iDay){    3     /* iDay 表示过期时间*/    4     var oDate=new Date();    5     oDate.setDate(oDate.getDate()+iDay);        6     document.cookie=name+'='+value+';expires='+oDate; 7 } 8 //获取 9 function getCookie(name){10     /* 获取浏览器所有cookie将其拆分成数组 */   11     var arr=document.cookie.split('; ');  12     for(var i=0;i

 6:SVG

什么是SVG?

  • SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
  • SVG 用于定义用于网络的基于矢量的图形
  • SVG 使用 XML 格式定义图形
  • SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失
  • SVG 是万维网联盟的标准

SVG 的优势

与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:

  • SVG 图像可通过文本编辑器来创建和修改
  • SVG 图像可被搜索、索引、脚本化或压缩
  • SVG 是可伸缩的
  • SVG 图像可在任何的分辨率下被高质量地打印
  • SVG 可在图像质量不下降的情况下被放大

7:

JS基本数据类型:Undefined Null Boolean String Number

数据封装类对象:Object Array Boolean String Number

其他对象:Function Arguments Date Math RegExp Error

8:new 操作符做了哪些事情?

当代码var zhang = new Person("ZhangSan", "man")执行时,其实内部做了如下几件事情:

  • 创建一个空白对象(new Object())。
  • 拷贝Person.prototype中的属性(键值对)到这个空对象中(内部实现时不是拷贝而是一个隐藏的链接)。
  • 将这个对象通过this关键字传递到构造函数中并执行构造函数。
  • 将这个对象赋值给变量zhang

9模块化开发

事先根据所有的页面划分公用或重复模块,再按模块唯一性分配给每个人,有人负责搭建框架,有人制作模块,最后合并框架和模块,再按开发的工作计划,顺序交付页面

 

第一个原则,模块的设计制作和布局框架本身相分离,意味着你的模块不能只为某个布局而编写样式,第二个原则说的布局与内容的分离,布局中某个位置不必只能放置某种内容,反过来可以理解为模块的灵活性和复用性

 

除了遵守语义化,减小不必要的嵌套,代码尽量精简,还要考虑到数据遍历的合理性,是否考虑到dom节点的可操作性,是否考虑到因扩展造成的抗破坏性

 

10:em,rem

em,相对长度单位

1、浏览器的默认字体大小是16px

2、如果元素自身没有设置字体大小,那么元素自身上的所有属性值如“boder、width、height、padding、margin、line-height”等值,我们都可以按下面的公式来计算

1 ÷ 父元素的font-size × 需要转换的像素值 = em值

3、这一种千万要慢慢理解,不然很容易与第二点混了。如果元素设置了字体大小,那么字体大小的转换依旧按第二条公式计算,也就是下面的:

1 ÷ 父元素的font-size × 需要转换的像素值 = em值

那么元素设置了字体大小,此元素的其他属性,如“border、width、height、padding、margin、line-height”计算就需要按照下面的公式来计算:

1 ÷ 元素自身的font-size × 需要转换的像素值 = em值

 

rem,相对长度单位。相对于根元素(即html元素)计算值的倍数

1 

 

转载于:https://www.cnblogs.com/Hale-Proh/p/6732354.html

你可能感兴趣的文章
Mac mysql 解决中文乱码
查看>>
Linux基础:xargs命令
查看>>
小程序支持连Wi-Fi,代码包到4M
查看>>
Android 最流行的吸顶效果的实现及代码
查看>>
AT&T汇编指令
查看>>
老王讲架构:负载均衡
查看>>
Nginx+uwsgi+Django 的web应用环境部署-完整记录
查看>>
学习内容及计划
查看>>
一起谈.NET技术,看看Entity Framework 4生成的复杂的分页SQL语句
查看>>
一步步构建大型网站架构
查看>>
[转载]jquery 动态滚动
查看>>
POJ 3415 Common Substrings
查看>>
The run destination iPhone 5.0 Simulator is not valid for running the scheme 'MyApp'
查看>>
【C#】在父窗体菜单合并子窗体菜单
查看>>
反射(6)程序集加载上下文
查看>>
oracle触发器after update of |更改之后赋值|
查看>>
Oracle命令:授权-收回权限-角色-用户状态
查看>>
常用的Ubuntu APT命令参数
查看>>
成功加盟者的8个特点
查看>>
Java基础03 构造器与方法重载
查看>>