关于函数一个不太理解的地方。
①:
$box.showHide({
css3:true,
animation:'fade'
});
②:
$('#btn-show').on('click',function(){
$box.showHide('show');
});
$('#btn-hide').on('click',function(){
$box.showHide('hide');
});
视频4:10-4:48。
这里第一个位置的showHide直接传参,第二个位置地showHide放入字符串调用函数。
我的疑问是:
1. 第一个位置的showHide({})里面的内容不会被浏览器当作参数传进去吗?
就是第一个位置的showHide里面的css:true不会被当作$elem被传进去吗,不会因此报错么?
方法function showHide($elem,options){}
2. $box.showHide('show'); 我把show两边的引号去掉,程序报错了。改成了$box.showHide({show:123})这个形式,没有报错,也没有反应,应该是赋值了。
所以function方法里面如果传入的是字符串的话,才会被当作参数,如果是放在大括号里面就是赋值,如果传入一个变量…除了报错以外也没明白会怎么样。
……(学到现在还没弄明白function真是对不起…麻烦老师解答一下。)
正在回答
同学你好,老师明白你的意思了。你是想问showHide方法中为什么可以一个传入对象,一个传入字符串是吧:
解释如下:
在jQuery原型上添加的showHide方法中对传入参数做了判断,传入的是对象还是字符串:
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
同学你好,关于同学的问题解答如下:
1、$box是jQuery对象,调用的showHide是jquery上的方法,也就是代码中通过$.fn.extend在jQuery原型上添加的方法:
同学说的两个参数情况上图中有标注解释。
2、$box.showHide('show')这里就是一个简单的函数传参调用。给你举个例子:
参数可以是我们在js中学习过的一些类型,例如字符串,数值,布尔值,对象,函数等等,这些都可以。但如果是下面这样:
不加引号,浏览器会认为是变量。前面代码如果有定义这个变量是可以的;如果没有,就会报错变量未定义。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星