js jquery中 的数据类型
任何一门语言, buguan 是动态的, 还是像C语言的, 都有严格的 类型 "概念的", 这个是由于 编译器和解释器要求的, 需要的. 所以在是使用像 js, jquey ,php 等这些语言的时候, 在背后 同样 要有 严格的 类型 的思想.. 唯一的区别是: 你不需要 显式的 去定义/规定 变量的类型. 所以以前有一个误解: 认为动态语言, 就没有数据类型, 就可以不管数据类型, 可以随便操作, 这个是非常 错误, 而且很 害人的.
参考这篇文章: http://www.cnblogs.com/java-my-life/archive/2012/08/06/2625065.html
这篇w3school的文章也比较好: http://www.w3school.com.cn/js/js_datatypes.asp
js是一种 松散类型/ 动态类型的 语言! 就是说, 一个变量可以付给不同类型的值: var foo; // undefined foo=1; // number foo=true; // Boolean
有:
一般而言, 类型的名称用 首字母大写, 如: Integer, String , 而数据类型的具体值, 则是小写的, 如: 类型Undefined, 具体的值就是:undefined...
除了前面常见的, 已经说了的类型外, 还包括:
Function:
Map: 也就是json的{"background": "blue", "border": "1px solid #333"}
==================================================== ===
Null类型和Undefined类型的区别 , 如何理解 null指针!
Undefined类型, 只有一个值: undefined. 表示这个变量没有值, 即没有给变量赋值.如 var person; 就是只声明了一个变量, 并没有给变量赋值, 所以它的类型是 Undefined, 类型值是undefined. 这个时候, 没有给undefined分配内存...
但是, Null类型 是表示 变量是 有值的! Null类型的 值也只有一个: null. 当将"null" 赋值给一个变量的时候, var person = null , 就表示 这个变量是有值的了!! 因为你 明明确确的 给它赋值了, 使用了 "=" 进行赋值! 只不过表示 这个变量的值是一个指针. (null就是一个指针, 表示一个 指向 空的 指针, 或者说是一个 "空指针", 指向 "任意未分配内存"的指针, 也可以理解为 系统没有给 "null这个指针 " 没有给它赋值, 但实际上 是产生了一个 指针的, 只不过这个指针没有初始化, 没有指向哪一个具体的内存单元.
但是 实际上null这个 "指针本身" 是要占据 一个单元(2个字节/或4个字节)的内存空间的, 如同在C 语言中, int *pi=null 一样, 这个时候, 指针pi是分配了2个字节的内存空间的, 只是这个null没有指向一个具体的 内存单元 / 内存空间的头部开始位置.
反正一点: null指针 本身是要占据 2个字节 的 内存 空间的 一个指针..跟 int *pi 中的 pi的作用,意思,地位是一样的! 只不过就是用null来表示 没有指向任何地方的指针.
================================================= ========
js jquery中的数组也是一种 很有用 的 数据结构, 要会用:
定义/ 创建数组 的方法有三种:
- 常规的:
var cars=new Array() cars[0]="aaa" cars[1]="bbb" .... - condensed array 简洁的/浓缩式的 :
var cars=new Array("aaa", "bbb", "ccc"...); - literal array, 从字面上自己去判断的, ` var cars=["aaa", "bbb", "ccc"...];
json对象的获取 某个 "属性值" (在C/c++中, 对象包括属性+行为 ), 可以使用两种方式:
var obj={"k1":"v1", "k2":"v2"}, obj.k1=obj["k1"]
在数组中, 属性名称 "key"通常要加双引号, 而属性值, 该是什么类型就用什么类型的数据形式: "k1": "v1", "k1": 20, 或者 "k1": true....
在引用属性值的时候, 如果用点 语法, 不需要加 引号, 如果用 数组 语法形式, 则要加引号.
typeof只是一个操作符, 你可以加括号, 也可以不加括号. 加括号, 并不是表示这个是 函数, 它 只是 认为 后面的数据较多而已, 并不是把它当作 函数来处理.. 如同数学表达式 a+b, 也可以写成 a+(b). 你能够说+加号就成了一个函数吗 : 在编程语言中, 所有的操作符都可以接受括号()的, 表示后面的是一个整体 全部, 这是一门语言最基本的东西...
typeof 返回的是 字符串, 字符串是 小写的 , 而且是固定的那几个值, 就没有 jquery中分得那么细: undefined, boolean,string, number(整数和小数), function, object, 而且好像没有null 类型值, null对象的typeof也是返回的 undefined.

在js和jquery中, dom节点元素, dom节点元素数组, jquery对象都成为 object, 都叫做 "对象" typeof操作返回的都是 object.
再次重申: 不要犯那种低级错误了: 把alert 写成了 alter. 后面的三个字母是 ert, 而不是 ter... 一旦写错了, js就会从 出错的地方终止, 以后的代码都不会再执行.
enhance单词, 是hance, 不是hence: enhance[in'h2ns], 提高, 增强, 是hance, 类似于 手的 :hand...
可以产生 充满 图片背景的 水平线: hr {background: url('gauze.png'); }
gauze
英[ɡɔːz] 美[gɔz]
n. 薄纱,纱布;金属网 gauze: 薄纱,纱布
The gauze was impregnated with medicament // preg 怀孕的; pregnate: im'pregnate. medicament: 'medik2ment
这纱布浸透了药剂
js jquery中 的数据类型的更多相关文章
- (三)在js(jquery)中获得文本框焦点和失去焦点的方法
在js(jquery)中获得文本框焦点和失去焦点的方法 文章介绍两个方法和种是利用javascript onFocus onBlur来判断焦点和失去焦点,加一种是利用jquery $(" ...
- js jquery中判断checkbox是否被选中的方法
在js中: document.getElementById("checkboxID").checked 返回true或者false jQuery中: $("input ...
- js/jQuery中load()、onload()、ready()的区别
一.两大事件 load事件:指页面包含图片等文件在内的所有元素都加载完毕后执行的事件. ready事件:表示文档结构已加载完成(不包括图片等非文字媒体文件) 浏览器页面渲染的过程 - 寸寸君 - 博客 ...
- JS Jquery 中 的遍历
$.each()和$().each(),以及forEach()的用法 1.forEach是js中遍历数组的方法,如下 var arr=[1,2,3,4];arr.forEach(functio ...
- 谈谈jQuery中的数据类型检测
这次是分享jQuery代码中的一些简写技巧,分析jQuery是如何优化代码的,如何用最少的代码来实现jQuery. 在我们工作中也常常会遇到一些数据类型检测,一些方法调用的形式 1 var arr = ...
- js/jQuery中的宽高
一.和window有关的宽高 window.innerWidth:浏览器窗口宽度 window.innerHeight:浏览器窗口高度(不包括导航,工具栏等的高度) window.outerWidth ...
- js/jquery中实现图片轮播
一,jquery方法 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&qu ...
- angular js jquery中post请求的一点小区别
这也是最近遇到的坑,还是之前那个项目,现在要实现登录功能. 背景:注册功能之前已经跑通了.前端用的是jquery后台是springMVC.鉴于注册和登录有些接口功能是类似的(比如注册确保邮箱是没有注册 ...
- 【转】js/jquery中刷新iframe方法(兼容主流)
一.js实现刷新两种方式: 1.//方法1 2.document.getElementById('FrameID').contentWindow.location.reload(true); 3.// ...
随机推荐
- 让人又爱又恨的char(字符型)
今天来总结一下char型,平常写算法的时候对这个东西感觉都有一点绕着走,说到底还是对这部分的知识不熟悉所以有点怕他,不过以后不要怕,今天来总结一下 首先,说到字符型数据类型,char型,恩它是一种数据 ...
- [NOIP2012] 提高组 洛谷P1081 开车旅行
题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 ...
- 用python来调试网络程序
需要联调的程序,沟通联调起来总是各种麻烦,如果自己能写个简单一点的“测试机”,事情就很easy了:或者有时候想做“中间人”,看看网路上到底传些什么.前面写了串口的测试机,今天尝试了一下UDP的. im ...
- Android虚拟机Classic qemu does not support SMP问题记录
不及之前重装了一次系统,导致要重新搭建android开发环境,但是在启动AVD时queue遇到了这个问题 androidstudio中看到的是这个样子 大概查了一下,应该是创建虚拟机是选择的cpu构架 ...
- css3 media媒体查询器用法总结
随着响应式设计模型的诞生,Web网站又要发生翻天腹地的改革浪潮,可能有些人会觉得在国内IE6用户居高不下的情况下,这些新的技术还不会广泛的蔓延下去,那你就错了,如今淘宝,凡客,携程等等公司都已经在大胆 ...
- PHPstorm激活
最近想学习一下PHP 于是下载了很不错的phpstorm 但这老外的工具是要购买正版的 所以就搜了一下破解激活的教程 发现现在网上的在线破解在2016.2版本里面大多已被封杀 尝试了本地破解也发现大 ...
- pycharm 启动后一直更新index的问题
这个谷歌一下就知道了,stackoveflow上就有几个解决方案,试试哪个好使就可以了. 详情见http://stackoverflow.com/questions/29030682/pycharm- ...
- python 处理CSV数据
从CS中导入数据 Python中有一个CSV模块支持读写各种方言格式的CSV文件.方言是很重要的,因为没有一个同意的CSV标准,不同的应用实现CSV的方式略有不同,当看到文件的内容的时候你往往很容易第 ...
- mysql php query steps
1.mysql connect $db=new mysqli ('localhost','database','user','password'); 2. query $query=select id ...
- ubuntu下Eclipse安装
安装的版本是MARS 直接复制安装包到安装的目录,然后tar zxvf XXXX 对于不能输入中文,把系统的输入法改成ibus就行了,fctix不支持eclipse 汉化包的下载地址 http://d ...