javascript (js)中的基本概念
1. 基本数据类型
1.1 number (数字)
在js中没有整形和浮点型的区分,所有的数字都是浮点型标识, 采用64位的浮点格式来表示数字.如果数字类型用在字符串连接表达式中,则会自动转换成字符串, 在JS中表示16进制通过在数字前加"0x"或"0X"(零).
1.2 string (字符串)
字符串类型是实用单引号('')或双引号("")括起来的unicode字符序列, 一些特殊的字符可以通过转义符来标识.如果字符串用在数字表达式环境中,字符串会被转换成数字,或者实用转换函数经行转换parseFloat, parseInt
var str="23";
var n = str - 0 //这个会把字符串转换成数字
1.3 boolean(布尔)
布尔类型的直接量是通过关键字 true 和 false 来标识, 或者在比较表达式中获得布尔值,布尔值在转成数字的时候 , true转成1 false转成0, 当布尔值转化成字符串时, true转成字符串"true", false转成字符串"false"
1.4 function(函数)
没错在JS中函数是一种数据类型, 这意味着函数也和其他数据类型一样可以赋给某个变量.
1.5 object(对象)
一个对象可以看成一个集合,这个集合可以包含任何数据类型, 集合中的元素通过属性的方式访问,如:(对象.属性/对象.方法), JS中的对象可以当作关联数组使用, 如: (对象[属性]), 当对象通过数组的方式去操作属性时, 就意味着我们可以通过程序的方式去处理他们
//动态的创建和使用对象的属性
var obj={}
for(var i=0;i<5;i++)
{
obj["p"+i]=i;
}
1.6 null 和 undefined(这个是两个比较特殊的和数据类型相关的东西)
undefined: 当使用了一个未声明的变量时, 或者使用了已经声明但未赋值的变量时, 又或者使用了一个并不存在的对象属性时,会返回这个值, null是一个特殊的值("无值"),他表示值不是有效的对象, 数组, 数字, 字符串, 布尔类型.他有别于其他所有值
2. 创建对象的几种方法
2.1 最简单的方法对象直接量
通过对象直接量创建对象是最方便的, 对象直接量是用逗号分割开的一对对属性和值的列表.由于对象直接量是个表达式, 所以当把这个表达式放到循环体中,则会创建很多新的对象, 这回导致内存的占用瞬间增加.
var obj={} // 一个没有属性的对象
var info={
name: "Tom",
age: 23,
show: function(){}
}
2.2 通过构造函数创建对象
function Aobject(){
this.name="";
this.show=function(){}
}
javascript (js)中的基本概念的更多相关文章
- [JavaScript] JS中对Base64的解析
JS中对Base64的解析 <script type="text/javascript"> /** * UTF16和UTF8转换对照表 * U+00000000 – U ...
- 【转】简单了介绍js中的一些概念(词法结构) 和 数据类型(部分)。
1 , javascript字符集: javascript采用的是Unicode字符集编码. 为什么要采用这个编码呢? 原因很简单,16位的Unicode编码可以表示地球人的任何书面语言.这是语言 国 ...
- [JavaScript]JS中的变量声明与有效域
1.变量声明 var a = 1; //使用var声明变量 b = 1; //不使用var 第一种情况,在当前域中声明一个名为a的变量,如果实在方法内则为局部变量,若在最外层声明则a为全局变量. 第二 ...
- javascript js中的typeof使用
typeof运算符介 绍:typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型.它返回值是一个字符串,该字符串说明运算数的类型. 你 知道下面typeof运算的结果吗? typeof ...
- [JavaScript] js中全局标识正则表达式的lastIndex属性
在JavaScript中使用正则表达式时,遇到一个坑:第一次匹配是true,第二次匹配是false. 因为在带全局标识"g"的正则表达式对象中,才有“lastIndex” 属性,该 ...
- javascript(js)中的substring和substr方法
1. substring 方法 定义和用法: substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法: stringObject.substring(start,end) 参数 ...
- js中闭包的概念和用法
闭包:主要的作用是 封装变量,收敛权限.防止变量被污染.比如Jquery框架就运用了大量的闭包.为什么呢? 问个问题?框架是如何来避免你声明的变量和它自带的变量不发生的冲突的?????很明显,需要闭包 ...
- js中原型的概念
- js 中闭包的概念
随机推荐
- 远程连接数据库(通过pgAdmin)
1.编辑/var/lib/pgsql/data/pg_hba.conf,增加语句 host all all 192.168.105.225/36 trust 让数据库接受网络 192.168.105 ...
- cygwin
setup-x86_64 -q -P wget,tar,qawk,bzip2,subversion,vim wget rawgit.com/transcode-open/apt-cyg/master/ ...
- java中的接口回调
[接口回调]接口回调是多态的另一种体现.接口回调是指:可以把使用某一个接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法.当接口变量调用被类实现的接口中 ...
- [C#] 记-TinyMapper使用
What is TinyMapper TinyMapper - a tiny and quick object mapper for .Net. The main advantage is perfo ...
- hdu 4150 Powerful Incantation
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4150 Powerful Incantation Description Some dangerous ...
- 九度oj 1554 区间问题
原题链接:http://ac.jobdu.com/problem.php?pid=1554 由数列的前缀和:$\begin{align*}\Large{} S_n &=\Large{}\sum ...
- Timer Design in StatusBar
Timer in StatusBar we need to show local time in StatusBar. solution: 1. add textblock control 2. bi ...
- ajax 例子
引用 function initCsvModel(year,cityId){ var args = new Object(); args.url= "listUpload!initCsvMo ...
- JAVA类与对象(四)----成员变量与局部变量 、成员方法、构造方法
类体中的变量分为两部分.变量定义部分定义的变量为类的成员变量,在方法体中定义的变量和方法中涉及的变量称为局部变量. 成员变量和局部变量的区别: (1).成员变量在整个类中都有效,局部变量只在定义它的方 ...
- C++中不可重载的5个运算符
大多数运算符都是可以重载的,但是有5个运算符C++语言规定是不可以重载的. 1. .(点运算符),通常用于去对象的成员,但是->(箭头运算符),是可以重载的 2.::(域运算符),即类名+域运算 ...