1. 自定义原型方法去重

  1. // 字符串去重
  2. String.prototype.unique = function(){
  3. var obj = {},
  4. str = '';
  5. for(var i = 0; i < this.length; i++){
  6. var item = this[i];
  7. if(!obj.hasOwnProperty(item)){
  8. obj[item] = item;
  9. str += item;
  10. }
  11. }
  12. return str;
  13. }
  14. var str = 'dasdasfdafsd1232312dasdasfgsdg';
  15. var str1 = str.unique();
  16. console.log(str1);
  1. // 计算字符出现次数
  2. String.prototype.strCount = function(){
  3. var obj = {};
  4. for(var i = 0; i < this.length; i++){
  5. var item = this[i];
  6. if(!obj.hasOwnProperty(item)){
  7. obj[item] = 1;
  8. }else{
  9. obj[item]++;
  10. }
  11. }
  12. return obj;
  13. }
  14. var str = '1111asdasdashellohell';
  15. var obj = str.strCount();
  16. console.log(obj);

2. 面试题

  1. function Test(a, b, c) {
  2. var d = 0;
  3. this.a = a;
  4. this.b = b;
  5. this.c = c;
  6. function e() {
  7. d++;
  8. console.log(d);
  9. }
  10. this.f = e;
  11. }
  12. // GO = {
  13. // Test: function(){},
  14. // test1: undefined => new Test(),
  15. // test2: undefined => new Test()
  16. // }
  17. // Test.AO = {
  18. // d: undefined => 0,
  19. // e: function e(){},
  20. // }
  21. // f.AO => e.AO = {
  22. //
  23. // }
  24. var test1 = new Test();
  25. test1.f(); // 1
  26. test1.f(); // 2
  27. var test2 = new Test();
  28. test2.f(); // 1
  1. function test(){
  2. console.log(typeof(arguments)); // object
  3. }
  4. test(1, 2, 3, 4);
  1. var test = function a(){ // 函数表达式的名字会被忽略
  2. console.log(a); // 内部可以访问
  3. console.log(test.name); // a
  4. }
  5. // console.log(a); // 外部会报错undefined
  6. console.log(typeof(a)); // undefined
  7. console.log(test.name); // a
  8. test();
  1. // 判断星期几
  2. function test(day){
  3. var weekday = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
  4. return weekday[day - 1] !== undefined ? console.log(weekday[day])
  5. : console.log('I don\'t know');
  6. }
  7. test(0);
  8. test(1);
  9. // 不用 day - 1,利用数组逗号加empty特性
  10. function test(day){
  11. var weekday = [,'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
  12. return weekday[day] !== undefined ? console.log(weekday[day])
  13. : console.log('I don\'t know');
  14. }
  15. test(0);
  16. test(1);