存在客户端检测, 是因为浏览器大战, 各家浏览器一单不按照某个规范, 那么实现起某个功能就会有五花八门的差异. 比如说早期在ajax和事件绑定上, 都要另外兼容IE , 此章的笔记并不多. 主要告诉检测的几种思路: 能力检测比如对区分PC端和移动端要求不高, 可以如下:var isMobile = function () { try { return !!docume ... 继续阅读

ECMAScript 是 JavaScript 的核心,但如果要在 Web 中使用 JavaScript,那么 BOM(浏览器对象模型)则无疑才是真正的核心。BOM 提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关。 下面介绍主要的几个BOM对象. window对象BOM 的核心对象是 window,它表示浏览器的一个实例。在浏览器中,window 对象有双重角色, 它既是通过 ... 继续阅读

第五章讲了函数的使用方式, 要么函数声明, 要么函数表达式. 关于函数声明, 有一个重要的特征, 就是会函数声明提升:sayHi(); // 这样是可以的, 如果是函数表达式 就会报错function sayHi(){ alert("Hi!");} 因为函数声明的这个特性, 千完不要在判断语句中使用函数声明:// 不要这么做!if(condition){ fun ... 继续阅读

理解对象第五讲里面讲了对象声明的两种方式: 使用Object构造函数 对象字面量 属性类型ES5描述对象属性(property)的特征, 称为特性(attribute), 定义特性是为了实现js引擎用的, 所以在JS中不能直接访问它们(特性). 为了表示特性是内部值, 规范把它们放在两个方括号之中. ES5有两种属性: 1. 数据属性: 数据属性包含一个数据值的位置。在这个位置可以读取和写 ... 继续阅读

Object创建Object对象的方法: new Object 对象字面量(不会调用Object构造函数) 其他知识点: 通常用点运算符访问对象的熟悉 如非必要, 避免[“prop”]访问对象熟悉 如果函数需要大量传参, 可以用对象作为参数 Array创建方式: new Array, 也可以省略new关键字i var arr = new Array(10); arr.length==1 ... 继续阅读

基本类型和引用类型的值 再次复习一下, ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。 动态的属性知识点: 对基本类型添加属性虽然不会报错, 但是没有效果 操作对象时, 操作的是对象的引用而不是实际的对象 复制变量值知识点: 基本类型变量复制是完全复制基本类型变量复制原理 引用类型变 ... 继续阅读

本文讲述线广告的发展简史: 从合约广告到竞价广告的过程 有兴趣的朋友可以翻翻之前写的: 《广告相关的基本概念》 《竞拍模式》 《一张图告诉你什么是计算广告》 第一个吃螃蟹的人 让我们回到1994年10月27日, 美国通信巨头AT&T在hotwired.com(一个无线杂志网站)投下了史上第一个在线banner广告. 当时AT&T为该广告支付了$30,000,投放是以CPD( ... 继续阅读

我们来看一个故事:阿全用chrome开了个隐身窗口(保证此时浏览器是没有任何用户数据的), 接着随便打开CSDN的一篇文章: 隐身窗口第一次打开该页面 可以看到, 底部很明显是一条CSDN自行投放的广告栏, 没毛病, 毕竟挂广告能挣钱. 然而你推送”樱花粉” ,”校验师招聘”是几个意思? 然而阿全也不是谦虚,堂堂一个撩基能力顶级的程序员怎么就会到北京呢? 哦不, 怎么会对这些广告感兴趣呢? ... 继续阅读

语法以下是js的语法要求 大小写敏感 标识符: 即我们说的变量名 开头必须是字幕/下划线/&的一种 不能把关键字/保留字/true,false,null作为标识符 注释: 单行注销: // 多行注销: /** here is your code **/ 严格模式: Es5引入严格模式,在严格模式下,ECMAScript 3 中的一些不确定的行为将得到处理,而且对某些不安全的操作也 ... 继续阅读

本文是从产品的角度来探讨如何搭建一个DSP投放平台,介绍DSP投放的内部模块都有哪些。但本文不涉及RTB(Real Time Bidding)、eCPM预估等技术层面的介绍。 DSP什么是DSP? DSP就是需求方平台(Demand Side Platform),本质是把广告主的广告通过媒体投放到受众(消费者)的面前。DSP平台对接了主流的ADX,并且把广告位的具体的概念,改变成了受众的人群 ... 继续阅读