fn.get()
function fn(){
//代码写在这里
}
问题,fn
里面如何写,才能访问到 get
运行这个函数,会报错,然后代码只能写在fn里面,也不能把fn当成类,去new它
错误如下
fn.get()
^
TypeError: fn.get is not a function
fn.get()
function fn(){
//代码写在这里
}
问题,fn
里面如何写,才能访问到 get
运行这个函数,会报错,然后代码只能写在fn里面,也不能把fn当成类,去new它
错误如下
fn.get()
^
TypeError: fn.get is not a function
问题没描述清楚,如果单纯想使 fn.get()
可以执行成功的话,可以这样:
function fn(){};
fn.get = function(){};
因为函数本身是一个对象,给对象添加属性属于一般操作,除此之外还可以通过 Proxy
、Object.defineProperties
等方法添加属性。
题目里抛错的原因有二:
let fun = function() {}
fun.prototype = {
get: function() {
return '我是fun中的get'
}
}
let newFun = new fun()
console.log(newFun.get())
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答877 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
因为函数必须触发了才能执行内部的代码,所以要在函数里面定义子函数就必须得在调用前触发一次,否则根本无解