正题开始前我想先抛出一个问题,==和===有什么区别?可能一般人会想,不就是后者除了比较值相等之外还会比较类型是否相等嘛,有什么好问的,谁不知道?!但是这样说还不够准确,两者的真正区别其实是==在比较的时候允许做强制类型转换,而===不允许。好了终于引出了今天的重点,我们平时肯定遇到过强制类型转换的时候,死活想不通为什么要这样转换(为什么这两个相等)的情况。那么下面我就以==为例,来说明一下其中强制类型转换的...
一、javascript总的基本类型1.javascript中的基本类型共有五种:数字、字符串、布尔值、undefined、null其中null和undefined最大的区别在于,被赋予null的变量通常被认为是已经定义了的。2.除了以上五种基本类型外,其他的数据类型都属于对象。二、利用typeof方法查看数据类型在javascript中可以通过typeof方法来查看某个变量或值得数据类型。该方法会返回一个代表数据类型的字符串,可能返回的值包括:number,string, boolean, un...
js的数据类型js的数据类型分为两种:值类型和引用类型内存分为栈和堆。当定义一个变量时,把变量放在栈里边,当变量的值为值类型时,变量的值也直接放在栈里;如果变量是引用类型,那么对象放在堆内存里,对象的地址放在栈里。所有的值类型都是拷贝的。所有的引用类型都是引用的。var a = 5;var b =a; 这两个表达式的意思是把a的值复制给b。而var a = [] var b = a; 是把a的地址复制给了b 堆内存中的对象,有一个引用计数,引用计...
一、变量是没有类型的在JavaScript中,定义变量的方法是“var 变量名=变量值”,无论这个变量要给他赋值为一个数字、字符串还是数组,他的类型都不需要声明。也就是说如果我只声明了一个变量“var a”,而没有给他赋值,那么我可以给他赋任何值,在语法上都是没有问题的。 二、变量值是有类型的尽管变量是没有类型的,使用typeof方法仍然能够获取到一个类型:var a;console.log(typeof(a));//值为undefinedvar a=1;console.log(typ...
×目录[1]静态方法[2]构造函数[3]实例方法前面的话 Date对象是javascript语言中内置的数据类型,用于提供日期和时间的操作接口。Date对象是在早期java中的java.util.Date类基础上创建的,为此,Date类型使用自UTC1970年1月1日0点开始经过的毫秒数来保存日期,它可以表示的时间范围是1970年1月1日0点前后的各1亿天。本文将详细介绍Date对象的用法 静态方法 在介绍Date对象的构造函数之前,先介绍静态方法。因为,Date对象的静态...
Boolean、Number、String有的解释说是基本类型,但是官方的说明,他们是特殊的引用类型。而据我总结,这三种类型比较特殊,既可以是基本类型,又可以是引用类型。为什么呢,请看下文。因为他们可以调用new新建对象。例如:String str =new String("hello");。这样定义的话,足够说明引用类型的性质。然后再用typeof(str)判断,返回来的数据是Object。而当用 var str="hello"; 用typeof判断的话,也会返回Boolean、Number、String类型...
JavaScript数据类型六种数据类型(五种原始类型,一种对象类型)numbersttringbooleannullundefinedobject #对象
FunctionArrayDate...javascript数据类型是弱数据类型,在定义变量时无需指定数据类型。var num = 32;
num = "this is a string";32 + 32 // 64 #加法运算
//"+"理解为字符串拼接,"-"理解为减法运算
"32" + 32 // "3232" # 字符串拼接
"32" - 32 // 0 # 减法运算隐式转换巧用“+”/"-"规则转换类型var num = "string"...
js有5种原始值类型:布尔值、数字、字符串、null和undefined。用typeof检测一下:typeof true; //"boolean"typeof 2; //"number"typeof “s”;//"string"typeof null;//"object":ECMAScript把null描述为独特的类型,但返回值却是对象类型,有点困惑。 可以使用Object.prototype.toString.call(null);//"[object Null]" 可以正确判断出null类型。typeof undefined;//"undefined"标准库提供了构造函数来封装布...
JS脚本语言: 这是JaxaScript的全称名 JS是网页里面使用的脚本语言JS是一个非常强大的语言JS的基础语法注释语法: 单行注释 // 多行注释 /**/ 输出语法: 双标签公式:<script>公式内容</script> alert("信息") 公式内容} 此代码是在页面上弹出信息 confirm(”信息“); 公式内容} 此代码会弹出一个和用户交互的对话框。 有{确定}{取消} prompt("信息") 公式内容} 此代码会弹出一个...
javascript对象是一种复合值,它是属性或已命名值的集合。通过‘.‘符号来引用属性值。当属性值是一个函数时,称其为方法。通过o.m()来调用对象o中的方法。我们发现,字符串也同样具有属性和方法 var s = ‘hello world‘;
console.log(s.length);//11 字符串既然不是对象,为什么它会有属性呢?这就引出了今天介绍的内容——包装对象 定义 在javascript中,“一切皆对象”,就连三种原始类型的值(数值、字符串、布尔...
事件类型Web浏览器中可能发生的事件有许多种类型不同类型的事件都有着自己独特的信息在“DOM3级事件”规范中,规定了以下几类事件:UI事件 当用户与页面元素交互时触发焦点事件 当元素失去或获得焦点时触发鼠标事件 当用户通过鼠标在页面上执行操作时触发滚轮事件 当使用鼠标滚轮或类似设备时触发文本事件 当在文档中输入文本时触发键盘事件 当用户通过键盘在页面执行操作时触发合成事件 当为IME(输入法编辑...
1.1、字符串1.1.1、字符串语法1、 正常字符串我们使用用‘‘或""括起来的字符表示。如果如果‘本身也是一个字符,那就可以用""括起来测试代码:var a = "I"+"'"+"m"+" "+"Ok"效果:如果字符串内部既包含‘又包含"怎么办?可以用转义字符\来标识,比如:I‘m "OK"!,我们可以用转义字符测试代码:var a ='I\'m \"OK\"!';效果:2、注意转义字符 ()\' 表示它是一个字符串
\n 换行
\t 空格
\u4e2d \u#### Unicode字符
\x41 ...
项目中偶尔用到判断浏览器类型及相关版本问题,现记录相关代码: function getBrowserInfo(userAgent) {var browserName, browserVersion;if (userAgent.indexOf("MSIE") > -1) {var types = userAgent.substring(userAgent.indexOf("MSIE"));var Info = (types.split(";")[0]).split(" ");browserName = Info[0];browserVersion = Info[1];} elseif (userAgent.indexOf("Firefox") > -1) {var types = userAgent.substring(userAg...
JavaScript数据类型隐式转换。一,函数类 isNaN() 该函数会对参数进行隐式的Number()转换,如果转换不成功则返回true。 alert() 输出的内容隐式的转换为字符串。二,运算符类。 1,算术运算符。 - * / % 如果操作数不是数值,将会隐式的调用Number()函数。按照这个函数的转换规则进行转换。 如果转换不成功,整个表达式返回NaN。 + 如果操作数都是数值,然后进行相加。 任何数据类型和字符...
引用类型Object类型function a(num){if(num>3){a(--num); }console.log(num); }a(5);//如何创建对象的实例var obj1= new Object();console.log(obj1);obj1.name="吴琼";obj1.age=28;console.log(obj1.name+" "+obj1.age);//对象字面量语法 ,有点封装的感觉var obj2 = {name:"吴琼",age:28};var obj3 = {age:28,age_wo:30};console.log(obj3["age_wo"]);console.log(obj2.name+" "+obj2.age);function show(arg){var s="";if(ar...