js 复杂研究
function test_001()
{
var t =0;
return
t || out_str("t未定义"), //1 // 执行1句;在执行2句;
t||null //2
}
var obj = test_001();
function out_str(obj) //定义一个函数
{
console.log(t);
}
out_str.fn = out_str.prototype ={name:'张三'}; //函数对象 添加属性 fn 和 prototype 他们的值为一个 对象 {name:'张三'}
var t = out_str.prototype;
out_str.extend = out_str.fn.extend = function() {}; //为 out_str 添加一个 extend 属性; 为out_str下的 fn 属性添加 一个 extend
var F = function(e) {
var i = this; // 这个this 就是 这个函数 F 对象 当 执行 var t = new F(e); 的时候
console.log(this);
console.log(this.abcdeE); //F.abcdeE={name:"FFFF"}; ; 输出 未定义
console.log(this.abcdeF); //F.prototype.abcdeF = {name:"FFFF"}; // {name: "FFFF"}
i.index = ++d.index,
i.config = test({}, i.config, d.config, e), //config为扩展属性 才有定义 否则 直接 F.
//i.config = r.extend({}, i.config, d.config, e),
i.render() //执行 扩展函数
};
//表示扩展函数
F.prototype.render = function() {console.log("END")}
F.prototype.abcdeF = {name:"FFFF"};
F.abcdeE={name:"FFFF"}; //为对象添加一个属性; 但不在扩展属性内;
d.abcde={name:"abcde"};
d.render = function(e) {
var t = new F(e); //传递一个对象
return c.call(t)
};
d.render = function(e) {
var a, b, c, d, e, f, g = arguments[0] || {}, //a =b=c=d=e=f 都是未定义 ;g=传递的第一个参数
j = !1; //j=false
js 复杂研究的更多相关文章
- js深入研究之Person类案例
<script type="text/javascript"> /* 定义一个Person类 */ function Person(name, age) { this. ...
- js深入研究之扩展类,克隆对象,混合类(自定义的extend函数,clone函数,与augment函数)
1.类扩展 /* EditInPlaceField类 */ /* 扩展函数 */ function extend(subClass, superClass) { var F = function() ...
- js深入研究之克隆,属性,数组,对象,函数
代码 <script type="text/javascript"> /* 克隆原型得到对象 */ function clone(object) { function ...
- js深入研究之神奇的匿名函数类生成方式
<script type="text/javascript"> var Book = (function() { // 私有静态属性 ; // 私有静态方法 funct ...
- js深入研究之牛逼的类封装设计
<script type="text/javascript"> var Book = function(newIsbn, newTitle, newAuthor) { ...
- js深入研究之函数内的函数
第一种 function foo() { ; function bar() { a *= ; } bar(); return a; } 第二种 function foo() { ; function ...
- js深入研究之类定义与使用
js可以定义自己的类 很有意思 <script type="text/javascript"> var Anim = function() { alert('nihao ...
- 关于audio.js的研究
——杂言:audio.js结合使用html5的audio组件实现了音频的原位播放功能.虽然项目里已经使用一段时间了,不过我是最近才开始有所接触,惭愧.个人见解若有不对,请帮忙纠正,谢谢. 官方相关链接 ...
- 纯CSS实现JS效果研究
利用CSS3:checked选择器和~配合实现tab切换 效果: 代码: <style> body,div,input,label{ margin:0; padding:0; } #tab ...
- JS闭包研究、自造困扰与解答
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
随机推荐
- java课堂疑问解答与思考2
问题一 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. 答:Xn+1=(7^5*Xn)mod(2^31-1) 程序源码: import java.util.Random; imp ...
- CPU 使用率低 but负载高
一.关于负载 什么是负载:负载就是cpu在一段时间内正在处理以及等待cpu处理的进程数之和的统计信息,也就是cpu使用队列的长度统计信息,这个数字越小越好(如果超过CPU核心*0.7就是不正常) 负载 ...
- Keytool生成证书
一.生成证书keytool -genkey -alias 别名 -keyalg RSA -keysize 1024(密钥位数) -keypass 密码 -validity 365(默认90天) -ke ...
- python+selenium下载文件——Chrome
from selenium import webdriver import time options = webdriver.ChromeOptions() prefs = { 'profile.de ...
- PTA(Basic Level)1031.查验身份证
一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8, ...
- seata项目结构
1. 概述 在拉取 Seata 项目后,我们会发现拆分了好多 Maven 项目.
- Fescar使用(资料)
fescar源码走读1:业务调用方 https://zhuanlan.zhihu.com/p/54659540 fescar源码走读2:fescar服务端 https://zhuanlan.zhi ...
- 小记---------Hadoop读、写文件步骤,HDFS架构理解
Hadoop 是一个开源框架,可编写和运行分布式应用处理大规模数据 Hadoop框架的核心是HDFS 和 MapReduce HDFS是分布式文件系统(存储) MapReduce是分布式数据处理模型和 ...
- dp常见优化方法
noip范围内的dp优化方法: 加速状态转移 1.前缀和优化 2.单调队列优化 3.线段树或树状数组优化 精简状态 3:精简状态往往是通过对题目本身性质的分析,去省掉一些冗余的状态.相对以上三条套路性 ...
- eclipse经常弹出Subversion Native Library Not Available解决方案