javascript知识

1 、javascript 允许有三种基本数据类型 :数字,文本字符串,布尔值。此外 还支持两种小数据类型null(空)和undefined(未定义)。此外javascript还支持复合数据类型 对象(Object)
2、javascript还定义另一种特殊的对象 函数(function)。函数是具有可执行代码的对象。可以通过调用函数执行某些操作,和数组一样,函数的行为与其他类型的对象不同。
3、当一个对象用于数字环境中Javascipt首先调用该对象的valueOf()方法。如果这个方法返回一个基本类型的值。这个值会被使用。然而、在大多数情况下,valueOf()方法返回的是对象自己,在这种情况下,Javascipt首先使用toString()方法把对象转换为一个字符串,然后,在试图把该字符串转换为一个数字。
4、当NULL用于布尔环境,它转换为false,当它用于一个数字环境,它转换为0,当它用于一个字符串环境,它转换为"null"
5、  javascript的基本规则是:基本数据类型通过传值来操作,而引用类型,通过传址来操作的。
6、在函数体内部,局部变量的优先级比同名的全局变量搞,如果给一个局部变量或函数的参数声明的名字与某个全局变量的名字相同,那么就有效的隐藏了这个全局变量。
7、javascript 没有块级作用域,函数中声明的所有变量,无论在哪里声明的 在整个函数中他们都是有定义的。因此将函数所有的变量集中起来 在开头申明是一个很好的编程习惯
8、====和==区别
===
1.如果连个值的类型不同,他们就不相同
2、如果两个值的类型是数字,而且值相同,那么除非其中有一个或者两个都是NaN,否则他们是等同的。值NaN永远不会与其他任何值等同的,包括它本身。
3.如果两个值都是字符串,而且在串中同一位置上的字符完全相同,那么它们就完全等同。
4.如果两个值都是布尔值true,或者两个值都是布尔值false,那么它们等同
5.如果;两个值引用的是同一个对象,数组或函数。,那么他们完全等同。如果他们引用的是不同的对象 数组或者函数,他们不完全等同。即使这两个对象具有完全相同的属性或两个数组具有完全相同的元素。
6.如果两个值都是null或者都是undefined,它们完全相同
==
1.如果两个值具有相同的类型,那么就检测他们的等同性,如果两个值完全相同,他们就相等,如果它们不完全相同,则它们就不相等。
2.如果两个值类型不同,他们依然可能相等。
    如果一个值是null,另一个值是undefined,他们相等
    如果一个值是数字,另一个值是字符串,把字符串转换为数字,在用转换后的值进行比较
    如果一个值为true,将它转化为1,在进行比较,如果一个值为false,把它转换为0,在进行比较。
    如果一个值是对象,另一个值是数字或字符串,将对象转换为原始类型的值,在进行比较,可以使用toString()方法或者是valueOf()方法把对象转换成原始类型的值
    其他数值组合是不相等的




你可能感兴趣的:(javascript知识)