backbone.js 标签名声明后无效

backbone.js tag name has no effect after declared

我想我已经正确地声明了 tagName?并且它正确地放置在渲染方法下,但不知何故标签是 div 而不是 h1.

https://jsfiddle.net/b01vtfnh/

        var Person = Backbone.Model.extend({
            defaults:{
                name:"",
                age:20,
                job:'jobless'
            }
        });

        var person1 = new Person({
            name:"Sony",
            age: 30,
            job: "Teacher"
        });

        var PersonView = Backbone.View.extend({
            initialize: function(){
                this.render();
            },
            render: function(){
                tagName:'h1'; //this line won't work

                var li_person = this.model.get('name') + ', ' + this.model.get('age') + 
                ' (' + this.model.get('job') + ')';

                this.$el.html(li_person)
                return this;
            }
        });

        var person_view = new PersonView({model:person1});
        $('body').html(person_view.el)

tagName 是视图的 属性,而不是 - 不知何故 - 渲染功能。这应该会抛出一个语法错误。正确的结构是:

initialize: function(){
    this.render();
},
tagName: 'h1',
render: function(){
...

我要离开原来的评论所以评论是有意义的,但事实证明 function(){ thing: "stuff"; } 实际上是有效的语法。不管怎样,在上下文和使用方式上,把它放在那里是不正确的。