- div {
- width: 300px;
- height: 300px;
- background-color: red;
- }
- <div></div>
- <script>
- var c = 10
- function test() {
- var add1 = new Function('a,b', 'return a + b + c')
- console.log(add1(3, 5))
- // 使用Function构造函数可以通过字符串创建函数
- // 注意:除非是用代码生成代码 否则不要这样写
- // 通常写法 也是推荐的写法
- function add2(a, b) {
- return a + b + c
- }
- console.log(add2.length)
- // 获取函数定义中的参数个数
- console.log(add2(3, 5))
- console.log(add2.toString())
- // 可以获取函数的源代码 可以在运行时输出源代码
- // var code = prompt('请输入代码:', '')
- // prompt 可提示用户进行输入的对话框
- // console.log(code)
- var c = 10
- // eval 函数可计算某个字符串 并执行其中的js代码
- document.write(eval('5 + c'))
- }
- test()
- document.querySelector('div').onclick = function (ev) {
- console.log(this)
- // 在事件处理函数中 this指向的是当前监听事件的标签元素
- // 相当于ev.curentTarget
- }
- var p = {
- name: 'baoqiang',
- age: 3,
- sayHello: function (ev) {
- console.log(this)
- alert('我的名字是' + this.name)
- }
- }
- document.querySelector('div').onclick = p.sayHello.bind(p)
- // bind 方法可以将函数中的this执行所指定的对象
- </script>