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 中闭包的概念
随机推荐
- Microsoft Visual Studio 语言切换
事情的起因是需要安装本地的中文帮助,OS以及Viusal Studio都安装的英语版本. 其实需要安装的安装Viusal Studio的中文语言包即可. 通过工具选项可以达到以下的对话框 可以通过下载 ...
- 浅谈Objective—C中的面向对象特性
Objective-C世界中的面向对象程序设计 面向对象称程序设计可能是现在最常用的程序设计模式.如何开发实际的程序是存在两个派系的-- 面向对象语言--在过去的几十年中,很多的面向对象语言被发明出来 ...
- 宝马测试(C++实现)
测试目的:对编辑器放大,缩小性能测试. 测试资源:一匹宝马. 测试结果:良好. 实现方法:通过调用本地保存的宝马文件,逐字逐行的显示在编辑器中,并放大,缩小.对不同的符号进 ...
- CentOS 7 + nginx + uwsgi + web2py (502 bad gateway nginx)
Web2py开发包中自带的setup-web2py-nginx-uwsgi-centos64.sh脚本, 只能运行在CentOS 6.4中使用, 如果直接在CentOS 7 中使用该脚本布署后, 访问 ...
- Android系统编译脚本理解
android源码编译步骤: 1. repo sync 代码(下载代码) 2.start branch(用哪个分支,git相关) 3. 到根目录(android目录) $cd android/ 4. ...
- .net 日期格式化
有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到:DateTim ...
- shell 与用户交互
bash shell如何获取命令行参数(添加到命令后的数据).命令行选项(确定命令行为的英文字母).键盘输入数据? 操作命令行参数 1 读取参数 bash shell用位置参数变量(positiona ...
- Altera USB Blaster 仿真器(EPM240仿制版
转载:http://tigerwang202.blogbus.com/logs/35981280.html 其他很好的资料:http://bbs.ednchina.com/BLOG_ARTICLE_1 ...
- iOS10推送必看UNNotificationServiceExtension
转:http://www.cocoachina.com/ios/20161017/17769.html (收录供个人学习用) iOS10推送UNNotificationServic 招聘信息: 产品经 ...
- 配置 Cocoapods的简单配置及胡思乱想
外部访问属性 & 重要属性变化 外部访问方法 监听方法 内部属性 swift编写 懒加载控件.布局.监听 使用第三方框架之前先需要配置 cocoapods环境 (唐巧博客) gib 查看自己的 ...