...
我大 JavaScript 就无所不能
假如你想帮他尽快找个活儿,赚到钱,推荐 JavaScript。 假如你想让他成为一个高效工程师,推荐 JavaScript。 假如你想让他爱上他的工作,推荐 … well … 这个没办法…
#11 楼 @reus 首先申明一下我对语言层面没有非常深入的了解。只是根据我自身的经验,下面一些实现方式,在静态语言(C++/C#/Java)实现难度大或者无法实现。如果有什么好的想法欢迎提出
1.多种调用方法 Method() Method('111') Method({xx: '111'}) Method(function(){}) Method('111', function(){}) Method({xx: '11'}, function(){}) Method('111', {xx: '11'}) Method('111', {xx: '11'}, function(){})
你可以用 C#/Java/C++ 实现上面的调用方式看看。
2.设置值 var c = a || {};
3.函数的灵活运用 Method( a || (function(){ //some code return obj.a + obj.b })(), 100);
4.对象属性 function initProp(prop, value) { obj[prop] = obj[prop] || value; return obj; }
5.链式调用 obj.method1().method2().method3();
6.数组的使用 var arr = []; arr[arr.length+1] = arr.length;
7.根据用户输入来生成一个对象,并且与默认对象所合并 8.用户自己设置回调函数 9.闭包的灵活运用 还有很多很多...我就不全部列举出来了,随便找一个 JS 库你都能看到一些非常非常灵活的写法。 我承认 JS 确实有很多不足和坑,不过 JS 整体上来说还是不错的。
#12 楼 @CoffeeDeveloper 比上不足比下有余的状态吧,就是看见些只会 js 没写过几行代码的说 js 最好就让人火大。还有你列的那些特性除了 4, 在 C++/C# 里都是小菜一碟,而且大部分静态语言除了 Java 都能做运算符重载,js 偏偏就不行。
关于 javascript,它是一种相当难驾驭的语言,虽然入门简答,但是精通却很难。因为要你了解很多很多东西。刚开始学习 javascript 确实是一件很头疼的事情,感觉很难掌握,过于灵活,但是等跨过这道坎的时候,会发现 js 确实是一种很有趣的语言。