eval

JavaScript 必会的知识点

我只是一个虾纸丫 提交于 2019-12-17 01:44:19
学习Web前端中的JavaScript总结以下必会的知识点: 1. js的基本数据类型 Undefined、Null、Boolean、Number、String 2. js有哪些内置对象? 数据封装类对象:Object、Array、Boolean、Number 和 String 其他对象:Function、Arguments、Math、Date、RegExp、Error 3. this对象的理解 this总是指向函数的直接调用者(而非间接调用者); 如果有new关键字,this指向new出来的那个对象; 在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window。 4. eval是做什么的? 它的功能是把对应的字符串解析成JS代码并运行; 应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。 由JSON字符串转换为JSON对象的时候可以用eval,var obj =eval('('+ str +')')。 5. DOM怎样添加、移除、移动、复制、创建和查找节点 // 创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 // 添加、移除、替换、插入

js学习:函数

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-16 23:45:24
概述 函数的声明 JavaScript 有三种声明函数的方法 function 命令 function命令声明的代码区块,就是一个函数。function命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。 这叫做函数的声明(Function Declaration)。 function print(s) { console.log(s); } 函数表达式 除了用function命令声明函数,还可以采用变量赋值的写法。 var print = function(s) { console.log(s); }; 这种写法将一个匿名函数赋值给变量。这时,这个匿名函数又称函数表达式(Function Expression),因为赋值语句的等号右侧只能放表达式。 采用函数表达式声明函数时,function命令后面不带有函数名。如果加上函数名,该函数名只在函数体内部有效,在函数体外部无效。 var print = function x(){ console.log(typeof x); }; // ReferenceError: x is not defined print() // function 上面代码在函数表达式中,加入了函数名x。这个x只在函数体内部可用,指代函数表达式本身,其他地方都不可用。这种写法的用处有两个,一是可以在函数体内部调用自身

6.python内置函数

我们两清 提交于 2019-12-16 21:19:00
1. abs() 获取绝对值 >>> abs(-10) 10 >>> a = -10 >>> a.__abs__() 10 2. all() 参数为可迭代对象,迭代对象为空时,返回True.如果迭代对象的所有元素都为真,那么返回True,否则返回False. all(['python',123]) --->True all([]) --->True all([0]) --->False all(" ") --->True all(1,' ',2,None) --->False 3.any() 参数为可迭代对象,参数为空时返回True print(any([None,0,' ',{},1])) --->True print(any(' ')) --->True 4.sum() 求和 >>> res = sum(i for i in range(5)) >>> print(res) 10 5.bin() 将参数转化为二进制 >>> bin(3) '0b11' >>> bin(10) '0b1010' 6.bool() 布尔函数,返回bool值,False或True >>> bool(3) True >>> bool(0) False >>> bool(None) False 7. ascii()  调用对象的__repr__()方法,获得该方法的返回值 8.bytes()

calculate math expression from a string using eval

社会主义新天地 提交于 2019-12-16 20:13:55
问题 I want to calculate math expression from a string. I have read that the solution to this is to use eval(). But when I try to run the following code: <?php $ma ="2+10"; $p = eval($ma); print $p; ?> It gives me the following error: Parse error: syntax error, unexpected $end in C:\xampp\htdocs\eclipseWorkspaceWebDev\MandatoryHandinSite\tester.php(4) : eval()'d code on line 1 Does someone know the solution to this problem. 回答1: While I don't suggest using eval for this (it is not the solution),

Convert a string to a template string

我的梦境 提交于 2019-12-16 20:00:29
问题 Is it possible to create a template string as a usual string let a="b:${b}"; an then convert it into a template string let b=10; console.log(a.template());//b:10 without eval , new Function and other means of dynamic code generation? 回答1: As your template string must get reference to the b variable dynamicly (in runtime), so the answer is: NO, it impossible to do without dynamic code generation. But with eval it's pretty simple: let tpl = eval('`'+a+'`'); 回答2: In my project I've created

eval() 函数

女生的网名这么多〃 提交于 2019-12-16 17:08:45
定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 语法 eval(string) 返回值 通过计算 string 得到的值(如果有的话)。 说明 该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。 如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。 抛出 如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。 如果非法调用 eval(),则抛出 EvalError 异常。 如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。 例子 1 在本例中,我们将在几个字符串上运用 eval(),并看看返回的结果: <script type="text/javascript"> eval("x=10;y=20;document.write(x*y)") //200 document.write(eval("2+2")) //4 var x=10 document.write(eval(x+17)) //27 </script> 例子 2

python命令行传入参数

假装没事ソ 提交于 2019-12-16 15:57:03
1.sys import sys a=eval(sys.argv[1]) b=eval(sys.argv[2]) print(a+b) 1 2 3 4 5 6 evel()函数是将字符串形式的int,字典等转化成对应真正的int,字典 在这里插入图片描述 2.argparse(python自带库) import argparse parser = argparse.ArgumentParser(description="Demo of argparse") parser.add_argument('-n','--name', default=' 5 ') parser.add_argument('-y','--year', default='20') args = parser.parse_args() print(args) a = args.name b = args.year print(type(a)) print(a+b) 来源: https://www.cnblogs.com/ruiy/p/11730224.html

分佈式锁的Redisson实现

丶灬走出姿态 提交于 2019-12-16 11:35:02
Redis 官方推荐使用Redisson实现分布式锁 import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import org.redisson.Redisson; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.redisson.config.Config; public class RedissonLockTest { static int fixNum=5; public static void main(String []args) throws InterruptedException { CountDownLatch latch = new CountDownLatch(fixNum); // 默认连接 127.0.0.1:6379 RedissonClient redisson = Redisson.create(); ExecutorService exec =

我将其名称作为字符串时如何执行JavaScript函数

淺唱寂寞╮ 提交于 2019-12-16 05:01:58
我有一个 JavaScript 函数的名称作为字符串。 如何将其转换为函数指针,以便以后可以调用? 根据情况,我可能还需要将各种参数传递给该方法。 一些功能可能采用 namespace.namespace.function(args[...]) 。 #1楼 还有一些非常有用的方法。 http://devlicio.us/blogs/sergio_pereira/archive/2009/02/09/javascript-5-ways-to-call-a-function.aspx var arrayMaker = { someProperty: 'some value here', make: function (arg1, arg2) { return [ this, arg1, arg2 ]; }, execute: function_name }; #2楼 有关Jason和Alex帖子的更多详细信息。 我发现将默认值添加到上下文很有帮助。 只是把 context = context == undefined? window:context; context = context == undefined? window:context; 在函数的开头。 您可以将 window 更改为首选上下文,然后每次在默认上下文中调用此变量时都不需要传递相同的变量。 #3楼 如果要使用

真实项目知识点总结

筅森魡賤 提交于 2019-12-14 05:33:42
1.python包中__init__.py的作用 python中package的标识,不能删除 定义__init__.py中的__all__用来模糊导入 python中的包和模块有两种导入方式:精确导入和模糊导入 精确导入: 模糊导入: from Root.Pack1 import * 模糊导入中的*中的模块是由__all__,用来模糊导入 编写python中的代码(不建议在__init__中写python模块,可以在包中创建另外的模块来写,尽量保证__init__.py简单) https://www.cnblogs.com/AlwinXu/p/5598543.html 2.sys.argv[] 传入参数0,获取的是当前文件的路径 传入参数1,返回的是传入的参数 传入参数2,返回的是列表元素 3.python中的eval()函数 描述:eval()函数用来执行一个字符串表达式,并返回表达式的值 语法:eval(expression[,globals[,locals]]) 参数: expression,表达式 globals–变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 local —变量作用域,局部命名空间,如果被提供,可以是任何映射对象。 返回值:返回表达式计算结果。 实例:x=7 ​ eval(‘3*x’)#打印结果:21 4.alt+enter导入红线 5