Welcome 微信登录

首页 / 脚本样式 / JavaScript

通过jQuery源码学习javascript(三)

通过jQuery源码学习javascript(三)

疑问 第一篇中有位博友提出了以下的问题,我也不太明白,如果有明白的,能否告知一、二。 复制代码 代码如下: var str = "test"; for(var a in str){ console.log(a + ":" + str[ a ]); } 输出结果 这是一个字符串对象,在使用for的时候,会出现上面的情况。自调用匿名函数(function(){})(window) 复制代码 代码如下: (function(window, undefine...
Three.js源码阅读笔记(光照部分)

Three.js源码阅读笔记(光照部分)

天气越来越冷了,人也越来越懒怠,越来越像呆在温暖的寝室里看小说或者打游戏,也好久没看Three.js源码了。今天天气不错,接着看! 这次从光照部分看起:光照模型,从光线本身角度来看包括环境光、平行光、点光源,从物体表面材质角度看又包括漫反射和镜面反射。 Lights:Light 复制代码 代码如下: THREE.Light = function ( hex ) { THREE.Object3D.call( this ); this.color = new ...
Three.js源码阅读笔记(物体是如何组织的)

Three.js源码阅读笔记(物体是如何组织的)

这是Three.js源码阅读笔记第三篇。之前两篇主要是关于核心对象的,这些核心对象主要围绕着矢量vector3对象和矩阵matrix4对象展开的,关注的是空间中的单个顶点的位置和变化。这一篇将主要讨论Three.js中的物体是如何组织的:即如何将顶点、表面、材质组合成为一个具体的对象。 Object::Mesh 该构造函数构造了一个空间中的物体。之所以叫“网格”是因为,实际上具有体积的物体基本都是建模成为“网格”的。 复制代码 代码如下: THREE.Me...
Three.js源码阅读笔记(Object3D类)

Three.js源码阅读笔记(Object3D类)

这是Three.js源码阅读笔记的第二篇,直接开始。 Core::Object3D Object3D似乎是Three.js框架中最重要的类,相当一部分其他的类都是继承自Object3D类,比如场景类、几何形体类、相机类、光照类等等:他们都是3D空间中的对象,所以称为Object3D类。Object3D构造函数如下: 复制代码 代码如下: THREE.Object3D = function () { THREE.Object3DLibrary.push( t...
Three.js源码阅读笔记(基础的核心Core对象)

Three.js源码阅读笔记(基础的核心Core对象)

Three.js是一个比较伟大的webgl开源库,它简化了浏览器3D编程,使得使用JavaScript在浏览器中创建复杂的场景变得容易很多。Github上众多webgl demo令我兴奋不已,跃跃欲试。由于这个库还处在开发阶段,因此资料非常匮乏,爱好者大部分时间不得不通过阅读该库的源码进行学习,我现在也准备这样做。 这是第一篇笔记,先从最基础的核心(Core)对象开始。 Core::Vector2 该构造函数用来创建一个表示二维向量的对象 复制代码 代码如...
Javascript图像处理—平滑处理实现原理

Javascript图像处理—平滑处理实现原理

前言上一篇文章,我们讲解了图像的虚拟边缘,这篇文章开始进行平滑(也就是模糊)处理。基本原理这里直接引用OpenCV 2.4+ C++ 平滑处理和OpenCV 2.4+ C++ 边缘梯度计算的相关内容:平滑也称模糊, 是一项简单且使用频率很高的图像处理方法。平滑处理时需要用到一个滤波器。 最常用的滤波器是线性滤波器,线性滤波处理的输出像素值(例如:)是输入像素值(例如:)的加权平均: 称为核, 它仅仅是一个加权系数。这里涉及一种叫做“卷积”的运算,那么...
Javascript 加载和执行-性能提高篇

Javascript 加载和执行-性能提高篇

Js的阻塞性 Javascript 在浏览器中的性能问题,可能是最重要的可用性问题 Js的阻塞性 浏览器用单一进程来处理UI进程和Js的执行 不管是内嵌的还是外链的,下载并立即执行 因为它有可能会修改页面 页面生存周期的概念 瀑布图中看到了下载时间和executing time 在head中加入script 和link body加载到前不会输出任何东西,因此会看到空白页面 复制代码 代码如下: <script type="text/javascrip...
javascript 利用Image对象实现的埋点(某处的点击数)统计

javascript 利用Image对象实现的埋点(某处的点击数)统计

需求:统计用户页面某处的点击数或者执行到程序中某个点的次数 特点:根据实际情况,创建多个Image对象,原则谁空闲谁做事。解决因过快发送埋点数据导致部分埋点缺失的问题。 实现:(注下面的代码依赖jQuery) 复制代码 代码如下: var Statistic= { arrImg:[], log:function(from){ //如果参数为空,则不处理 if(typeof(from)=="undefined" || from=="") return; va...
javascript的字符串按引用复制和传递,按值来比较介绍与应用

javascript的字符串按引用复制和传递,按值来比较介绍与应用

按值和按引用的比较 Numbers 和 Boolean 类型的值 (true 和 false) 是按值来复制、传递和比较的。当按值复制或传递时,将在计算机内存中分配一块空间并将原值复制到其中。然后,即使更改原来的值,也不会影响所复制的值(反过来也一样),因为这两个值是独立的实体。 对象、数组以及函数是按引用来复制、传递和比较的。 当按地址复制或传递时,实际是创建一个指向原始项的指针,然后就像拷贝一样来使用该指针。如果随后更改原始项,则将同时更改原始项和复制...
web性能优化之javascript性能调优

web性能优化之javascript性能调优

JavaScript 是一个比较完善的前端开发语言,在现今的 web 开发中应用非常广泛,尤其是对 Web 2.0 的应用。随着 Web 2.0 越来越流行的今天,我们会发现:在我们的 web 应用项目中,会有大量的 JavaScript 代码,并且以后会越来越多。JavaScript 作为一个解释执行的语言,以及它的单线程机制,决定了性能问题是 JavaScript 的软肋,也是 web 软件工程师们在写 JavaScript 需要高度重视的一个问题,尤...
2012年开发人员的16款新鲜的jquery插件体验分享

2012年开发人员的16款新鲜的jquery插件体验分享

jQuery的是一个多浏览器的Javascript集合,以轻松地简化了客户端脚本的HTML。jQuery的格式设计帮助你获得一个文件,选择DOM元素,动画,处理事件,并开发Ajax程序设计人员能够根据需要创建一些高级别的jquery插件。使用这些插件方法可以创建高效强大的网页和Web程序。保持学习最新的jQuery插件有时似乎是一个完整的工作。每隔一天,我们似乎可以发现一些新的东西,尖端的东西,有时我们发现的东西,是真正的创新和必要的对于我们的工作来说。下...
动态的改变IFrame的高度实现IFrame自动伸展适应高度

动态的改变IFrame的高度实现IFrame自动伸展适应高度

动态的改变IFrame的高度,实现IFrame自动伸展,父页面也自动神缩 原理: 在IFrame子页面一加载的时候,调用父IFrame对象,改变其高度 具体实现一: 1、在IFrame的具体页面(就是子页面),添加JavaScript 复制代码 代码如下: <script> function IFrameResize(){ //alert(this.document.body.scrollHeight); //弹出当前页面的高度 var obj...
JS声明变量背后的编译原理剖析

JS声明变量背后的编译原理剖析

只要是写过点JS代码,很简单一个var 就完事了。那对于JS编译器背后它又发生了什么呢?那就一步步通过代码来讲起。 复制代码 代码如下: x = 1; alert(x); var y = function() { alert(x); var x = 2; alert(x); } y(); 上面的代码也会你答对了它会分别输出:1,undefined,2。对于我来说,第一反应它会输出:1,1,2。为什么第二个会输出undefined?在上面我明确定义了一个全...
<< 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 >>