const appendInfo = () => {
const API_SECRET_KEY = 'https://github.com/dyq086/wepy-mall/tree/master/src'
const TIMESTAMP = 'util.getCurrentTime()'
const SIGN = 'md5.hex_md5((TIMESTAMP + API_SECRET_KEY).toLowerCase())'
return {
'API_SECRET_KEY': API_SECRET_KEY,
'TIMESTAMP': TIMESTAMP,
'SIGN': SIGN
}
} let data = {}
const isSign = 2 || false
if (isSign) {
const a = appendInfo()
for (let k in a) {
console.log(k)
console.log(a.k)
eval('data.' + k + '= a.' + k)
}
}
console.log(data)
let a =3
let b = {}
while(a){
eval('b.tag_'+(a-1)+'='+a*a)
a--
}
{tag_2: 9, tag_1: 4, tag_0: 1}
let a =3
let b = {}
while(a){
eval('b.tag_'+(a-1))
a--
}
{}
c.k 添加的属性名为"k"
c[k] k的值
删除
利用动态特性
1 function Person(){};
2 var person = new Person();
3 person.name = 'yy';
4 person.gender = 'girl';
5 console.log(person.name+','+person.gender);//yy,girl
6 delete person.name;//删除属性
7 console.log(person.name);//undefined
8 // 变式
9 function Person(){};
10 var person = new Person();
11 person['name'] = 'yy';
12 person['gender'] = 'girl';
13 console.log(person.name+','+person.gender);//yy,girl
14 delete person.name;//删除属性
15 console.log(person.name);//undefined
构造函数中this
var Person = function (){
this.name = 'yy';
this.gender = 'girl'
};
var person = new Person();
console.log(person.name+','+person.gender);//yy,girl
原型中添加属性
var Person = function (){
};
Person.prototype.name = 'yy';
Person.prototype.gender = 'girl';
var person = new Person();
console.log(person.name+','+person.gender);//yy,girl
console.log(person['name']+','+person['gender']);//yy,girl
字面量添加属性
var person = {
};
person.name = 'yy';
person.gender = 'girl';
console.log(person.name+','+person.gender);//yy,girl
console.log(person['name']+','+person['gender']);//yy,girl
// 另一种写法
var person = {
name: 'yy',
gender: 'girl'
};
console.log(person.name+','+person.gender);//yy,girl
console.log(person['name']+','+person['gender']);//yy,girl
封装extend方法
var p1 = {};
var p2 = {name:'yy',gender:'girl'};
p1.extend = function(obj){
for(var k in obj){
this[k] = obj[k];
}
}
p1.extend(p2);
console.log(p1.name+','+p1.gender);//yy,girl
console.log(p1['name']+','+p1['gender']);//yy,girl
let formData = {}
formData['key'] = ossKey
formData['OSSAccessKeyId'] = AccessKeyId
formData['policy'] = PolicyBase64
formData['Signature'] = Signature
formData['x-oss-security-token'] = STS.SecurityToken
return {
key: ossKey,
OSSAccessKeyId: AccessKeyId,
policy: PolicyBase64,
Signature: Signature
}
js为Object对象动态添加属性和值 eval c.k c[k]的更多相关文章
-
js对象动态添加属性,方法
1. 动态添加属性,方法 var object = new Object(); object.name = "name"; object.age = 19; >>> ...
-
JS-给对象动态添加属性
var obj = {};//用来存放获取到所填写的信息 btn.onclick = function(){ var city = input_city.value; var num = input_ ...
-
js 向数组对象中添加属性和属性值
let resultList = [{"name":"a1"},{"name":"b1"}] resultList.fo ...
-
从Object对象中读取属性的值
C#是强类型语言,强到多变态?一个对象没有定义某个属性,你想点出来,IDE直接给你报语法错误.远不如js那么*,想怎么点怎么点. 如果你从别人接口中拿到的就是Object类型,你想获取某个属性的值怎 ...
-
C# 从Object对象中读取属性的值
https://www.cnblogs.com/xbblogs/p/7739483.html
-
Python笔记_第三篇_面向对象_8.对象属性和类属性及其动态添加属性和方法
1. 对象属性和类属性. 我们之前接触到,在类中,我们一般都是通过构造函数的方式去写一些类的相关属性.在第一次介绍类的时候我们把一些属性写到构造函数外面并没有用到构造函数,其实当时在写的时候,就是在给 ...
-
我的Python学习笔记(四):动态添加属性和方法
一.动态语言与静态语言 1.1 动态语言 在运行时代码可以根据某些条件改变自身结构 可以在运行时引进新的函数.对象.甚至代码,可以删除已有的函数等其他结构上的变化 常见的动态语言:Object-C.C ...
-
day_5.26python动态添加属性和方法
python动态添加属性和方法 既然给类添加⽅法,是使⽤ 类名.⽅法名 = xxxx ,那么给对象添加⼀个⽅法 也是类似的 对象.⽅法名 = xxx '''2018-5-26 13:40:09pyth ...
-
python 动态添加属性及方法及“__slots__的作用”
1.动态添加属性 class Person(object): def __init__(self, newName, newAge): self.name = newName self.age = n ...
随机推荐
-
swift 字符串和数字相互转化
//NSString 类型 转为整型,浮点型, var test:NSString = "3.3" println("test\(test)") println ...
-
[转] 基于PHP Stream Wrapper开发有趣应用场景
PHP Stream Wrapper 原文:http://blog.sina.com.cn/s/blog_502c8cc40100k40e.html ,主要是基于SAE环境讲述相应的应用场景,本文经过 ...
-
tableview中在tableheaderView上放一个视图,第一次进入视图显示不正常,往下拉视图仍然不正常,往上拉视图正常
解决办法: frame来源不正常,从直接在viewDidLoad方法中设置的frame,改为 - (void)viewDidLayoutSubviews { [super viewDidLayoutS ...
-
查询SQLServer 服务器,执行过的SQL语句耗时!
SELECT creation_time N'语句编译时间',last_execution_time N'上次执行时间',total_physical_reads N'物理读取总次数',total_l ...
-
Spring总结——控制反转,注入(配置和注解两种方式)
一.Spring的容器: 1.什么是控制反转:传统的方法,当某个java对象A需要调用对象B时,是由调用者(对象A)通过new关键字来创建对象B的(也可以说类A依赖类B),而在Spring中,则是由s ...
-
Chromium on Android: Android在系统Chromium为了实现主消息循环分析
总结:刚开始接触一个Chromium on Android时间.很好奇Chromium主消息循环是如何整合Android应用. 为Android计划,一旦启动,主线程将具有Java消息层循环处理系统事 ...
-
【环境配置】配置maven
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具.由于 Maven 的缺 ...
-
[Swift]LeetCode30. 与所有单词相关联的字串 | Substring with Concatenation of All Words
You are given a string, s, and a list of words, words, that are all of the same length. Find all sta ...
-
[LOJ6469]Magic
[LOJ6469]Magic 题目大意: 有\(n(n\le10^5)\)个物品,每个物品有一个权值\(w_i(w_i\le10^{18})\).求所有\(n\choose 2\)对物品\((i,j) ...
-
搭建Harbor企业级docker仓库
搭建Harbor企业级docker仓库 一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如 ...