前端开发学习之基本语法

发布于 2021-11-27 11:25:55 字数 3438 浏览 1268 评论 0

变量提升

var a = 1;
var o = {};

(function(o1){
    var b = a = c = 2;
    o1.a = 3;
    
    alert(typeof a !== 'undefined' ? a : 'undefined');
    alert(typeof b !== 'undefined' ? b : 'undefined');
    alert(typeof c !== 'undefined' ? c : 'undefined');
    alert(o1.a);
    alert(o.a);
    alert(o === o1);
    function b(){};
}(o));

alert(typeof a !== 'undefined' ? a : 'undefined');
alert(typeof b !== 'undefined' ? b : 'undefined');
alert(typeof c !== 'undefined' ? c : 'undefined');
alert(o.a);

作用域

var a = 1;
var o1 = {
    a: 2,
    f1: function(){
        alert(typeof this.a === 'undefined' ? 'undefined' : this.a);
    }
};
var o2 = {
    a: 3,
    f2: function(){
        alert(typeof this.a === 'undefined' ? 'undefined' : this.a);
    
        return function(){
            alert(typeof this.a === 'undefined' ? 'undefined' : this.a);
        };
    }
};

o1.f1();
o2.f2();
o2.f2()();

数据类型

var a1 = [];
var a2 = [];

alert(a1 === a2);

var a3 = '123';

a3.s = 123;
a3.s += 1;
alert(a3.s);

数值

alert(123456789012345678901 > 123456789012345678900);

// 将“你好,javascript”转换成 unicode 字符集

对象

var o = {
    .1: "呵呵"
};

alert(o['0.1']);
alert(o['.1']);

运算符

1 + '2';
'1' + 2;
'a' + 1;
1 + 'a';

var a = 1;
var b = 2;

if(a = b){
    alert(1);
} else {
    alert(2);
}

var x1 = [] + [];
var x2 = [] + {};
var x3 = {} + {};
var x4 = {} + [];

函数

typeis

实现typeis方法,可以正确返回传入的数据类型。

typeis('1'); // => "string"
typeis(1); // => "number"
typeis({}); // => "object"
typeis([]); // => "array"
typeis.string('1'); // => true
typeis.number(1); // => true
typeis.object({}); // => true
typeis.array([]); // => true

each

实现each方法,可以正确遍历对象、数组,并且能够正确 break。

each([1, 2, 3], function(index, val){
    alet(val);

    if(val){
        return false;
    }
});

each({
    a: 1,
    b: 2,
    c: 3
}, function(key, val){
    alet(val);

    if(val){
        return false;
    }
});

柯里化

实现无限柯里化加法。

add(1)(2)(3)(); // => 6
add(1)(2)(3)(4)(); // => 10
add(1)(2)(3)(4)(5)(); // => 15

传参

实现以下功能,f函数可以根据参数的形参个数返回不同的结果。

f(function(a, b){
    alert(a + b); // => 1 + 2
});
f(function(a, b, c){
    alert(a + b + c); // => 3 + 4 + 5
});

参数

实现无限加法运算。

add(1, 2, 3); // => 6
add(1, 2, 3, 4); // => 10
add(1, 2, 3, 4, 5); // => 15

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

陌若浮生

暂无简介

0 文章
0 评论
639 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文