Thanks Darin. For the first problem, as you said, all the functions are objects, and also have **properties**.
So,can we add a member for the "function object" to store the method name[here is "getValues"] in theoretical ? And this also like the "JSObjectRef object" variable in the callback prototype,we can get the class name like this: toJS(object)->className().data() Thanks. -Xiong On Fri, May 15, 2009 at 10:29 AM, Darin Adler <da...@apple.com> wrote: > On May 14, 2009, at 7:03 PM, Xiong wrote: > > 1 what is the purpose of the "JSObjectRef function" variable? In my >> case, we never use. >> > > It’s fine to not use this if you don’t need to. In JavaScript, functions > are objects. Like other objects they can have properties. This argument is > passed to your C implementation so that it can get access to properties of > the function object if it has some reason to. In many cases there is no need > to do this. > > 2 In this function, i want to get the propertyName of the method, in >> this case, we need "getValues", can be implemented ? >> > > No, there's no way to do that, for a good architectural reason. > > A JavaScript function is a first class object. Using JSObjectMake will > create an object with a prototype that has functions stored in its > properties, but there’s nothing to prevent the JavaScript program from > taking that function and storing it somewhere else, in a property with > another name. When the function is called, it’s just an object, and there’s > no way to go back in time and find out where that object came from. > > Consider the similar situation of a data property. When you get the length > of an array, it's a number 1, not a number 1 that knows it came from a > property named "length". > > -- Darin > >
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev