您当前的位置:首页 > 互联网教程

javascript中函数能都放在一个js文件里吗

发布时间:2025-05-21 01:34:21    发布人:远客网络

javascript中函数能都放在一个js文件里吗

一、javascript中函数能都放在一个js文件里吗

理论上可以,但实际上不行。在不同方法,不同全局变量的情况下,可以将JS函数集成到一个文件,但实际项目中没有人这么做.都是按"功能"和"模块"来分文件的。

对于一个项目(区别于简单页面或工程)来说,你把所有的JS放到一个文件,那就不可避免的将某个模块不需要的函数加载到页面中,造成加载的浪费,影响加载的速度。

在不同模块应用中,可能出现用同名函数(因为功能完全一样,只是用于不同的对象)或者同名的全局变量,此时会造成JS冲突。

不易查找和维护函数,就像我们理论上可以上把所有的文件和程序都装到C盘,但实际上我们的硬盘分了几个区和创建很多文件夹一个道理。

所以JS一般按模块和功能区分文件。

二、你不知道的Javascript等号运算符

JavaScript中共有2个个判断相等的运算符==和===。

这2个运算符的差别在于==在判断相等的时候会进行类型的转换,而===则不会进行类型转换。

===一般称之为严格相等。用来判断两个操作数是否严格相等。

首先判断两个操作数的类型是否一致,如果不一致就直接认为不等。

如果两个操作数的类型一致,则再判断内容是否相等。

"true"===true//类型不一致, false

"1"==="1"//类型一致,并且内容也一致。 true

如果使用===判断2个对象类型的数据,则直接判断这 2个对象是否为同一个对象。

如果一边是对象类型,一边是基本类型则一定不等。

{}==={}//两边都是对象,但是不是同一个对象,所以 false

[]=== []//两边都是对象,但是不是同一个对象,所以 false

[]===""//一变是对象类型,一边是基本类型,所以false

==运算符判断相等,由于涉及到类型的强制转换,所以最为复杂。

两边都是基本类型,但是类型不同

2.1两边都是基本类型,且类型相同

这个最简单,就看内容是否相等即可。

这个也简单,规则和===一样,也是判断两个对象是否为同一个对象。

2.3两边都是基本类型,但是类型不同

这个规则比较复杂,很多人也记不住那么多的规则。

经过我的分析和总结,其实这个规则只有一条:

这个规则也比较复杂,需要以2.3的规则为基础。

经过我的分析和总结,其实规则只有 2条:

这种情况比较的时候,都是先把对象转换成基本类型再去比较!

先调用对象的valueOf方法,如果返回值值是基本类型的数据,就用这个返回的基本类型的数据去比较。

如果valueOf方法的返回值不是基本类型的数据,则调用toString方法,然后使用toString的返回值进行比较。

注意:关于valueOf和toString方法的说明:

这个两个方法是在Object.prototype对象中定义的,所以所有的对象都会继承这两个方法。

默认情况下valueOf是返回的这个对象的本身(内部其实是返回的this)。

默认情况下toString返回的是字符串: [object Object]

但是有些内置对象覆写了这2个方法。

console.log([1,2].toString());//"1,2"返回的是数组的元素用,连接起来的字符串

console.log(/a/gi.toString());//"/a/gi"正则表达式的字面量字符串

console.log((function(){//注释}).toString());//"function(){//注释}"返回函数源码

console.log(newNumber(10).toString());//"10"返回对应的基本类型的字面量形式

console.log(({}).toString());//"[object Object]"

解析:一边是对象,一边是字符串。则会把对象转换成基本类型。

先看valueOf,默认返回的是对象,所以再看toString默认返回的是"[object Object]"所以是true

console.log(obj1=="[object Object]");// true

解析:一边是对象,一边是number。则会把对象转换成基本类型。先看valueOf,返回的是 number类型 1,所以用这个返回值去比较。

解析:一边是对象,一边是String。则会把对象转换成基本类型。先看valueOf,返回的是对象,所以调用toString,返回的是字符串"李四"。

console.log(obj1=="李四");// true

解析:一边是对象,一边是字符串。则会把对象转换成基本类型。先看valueOf,默认返回的是对象,所以调用toString,返回的是字符串"1,2"。

console.log(arr=="1,2");// true

解析:一边是对象,一边是字符串。则会把对象转换成基本类型。先看valueOf,默认返回的是布尔值 true,然后把true转换成number 1,

右边是字符串,然后把字符串转换number 1

===一句话总结:先看类型,类型相同再比较内容。类型不同,直接false

==一句话总结:不同基本类型,则都向numbe方向转,然后比较。一边对象一边基本类型,则对象先调用valueOf,再调用toString来转成基本类型,再比较。

三、对你不能太温柔(下)txt全集下载

1、对你不能太温柔(下) txt全集小说附件已上传到百度网盘,点击免费下载:

2、访问本页面,您的浏览器需要支持JavaScript

3、The browser needs JavaScript to continue

4、访问本页面,您的浏览器需要支持JavaScript

5、The browser needs JavaScript to continue

6、平安夜那天,我们早早关门了,圣诞节那天大家都决定不开业休息一天,算是犒劳我们这一个半月来没有休息一天的赶工。

7、我们三人刚刚吃完火锅,浑身舒坦暖洋洋的晃在大街上。

8、经过一间间精品店时,李玟茹对着里面摆设的精巧物品不住发出叹息。

9、陈清平每次都要把她从人家玻璃上剥下来。

10、「你少把口水黏在人家的玻璃窗上,都快三十岁的人了,还这么弱智,有点气质好不好。」

11、李玟茹理直气壮的说:「你是妒嫉我比你年轻吗?本小姐童心犹在,喜欢搞清纯不好吗?」

12、「恶!你少恶心了,不怕吓死满街的老百姓。」

13、李玟茹马上把胳膊撘在我肩上,笑眯眯的说:「见悟小迪迪,圣诞节喜欢什么礼物呢?姊姊给你买。」

14、我还没来得及拒绝,陈清平扔开她的手,绕上我肩膀说:「色女,少来拐骗我家……