JavaScript 语法的原理问题求解

最近看一片文章写的这样的问题,自己知识学浅不知道有什么区别,向园子里js高手求解

请解释下面Javascript代码的区别:

var a = new Object();

//下面两句话是否有区别

a.companyName = “Microsoft”;

a[“companyName”] = “Microsoft”;

//请简述下面两种写法的本质,涉及到javascipt语法的原理

var company = function() {};

company.get_name = function() {

return “Microsoft”;

}

var company = function(){};

company.prototype.get_name = function() {

return “Microsoft”;

}