JavaScript学习日志(2)
javascript数据类型:
字符串string、数字number、未定义Undefined、空Null、布尔Boolean、数组Array、对象Object。
javascript对象:
对象由花括号分隔,在括号内部,对象的属性以名称和值的形式(name:value)来定义,属性由逗号分隔。
对象的创建推荐用var people={Name:'jerry',Age:21,eat:function(){} }
也可以创建对象再追加属性和方法:
var people=new Object();
people.Name='jerry';
people.Age=21;
people.eat=function(){};
定义类:function People(name,age){
this.Name=name;
this.Age=age;
this.eat=function(){};
}
var people=new People();
对象的方法定义了一个函数,并作为对象的属性存储,对象方法通过添加()调用。
function test(){
var person={name:'小明',age:18,eat:function(){ return '吃苹果' }};
alert(person.eat); //function(){return '吃苹果'}
alert(person.eat()); // '吃苹果'
}
javascript变量:
在javascript函数内部声明的变量(使用var)是局部变量,只能在函数内部访问它。
在函数外声明的变量是全局变量,javascript变量的生命期从它们被声明的时间开始,局部变量在函数运行以后被删除,全局变量在页面
关闭后被删除。
向未声明的变量赋值,该变量将被自动作为全局变量声明。
carName=‘BYD'; 将声明一个全局变量carName
函数内未声明即使用的变量 function test(){ carName='BYD' }
在test()被第一次调用之前,carName变量是不存在的即undefined,函数被调用之后,carName将变成全局变量。
javascript==与===区别
1、对于string、number等基础类型,== 和 === 是有区别的
a)不同类型间比较,==是"转化成同一类型后"比较值是否相等,===如果类型不同,其结果不等。
b)同类型比较,直接进行值比较,两者结果一样。
2、对于Array、object等高级类型,==和===没有区别,进行指针地址比较。
3、基础类型与高级类型,==和===是有区别的
a)对于==,将高级转化成基础类型,进行值比较。
b)因为类型不同,===结果为false。
4、!=是==的非运算,!==是===的非运算。
var num=1;
var str='1';
var test=1;
num==test; //true 类型相同,值相同
num===test; //true 类型相同,值相同
num==str; // true 把str转换为数字,两者值相等
num===str; //false 类型不同
for/in循环遍历对象的属性。
JavaScript学习日志(2)的更多相关文章
- javascript学习日志:前言
javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业 ...
- JavaScript学习日志(六):事件
这篇随笔,深恶痛绝,敲到快结束的时候,凌晨00:19,突然闪退,也不知道是Mac的原因还是chrome的原因,重新打开的时候,以为自动保存有效果,心想没关系,结果他么的只保存了四分之一,WTF?!!! ...
- JavaScript学习日志(五):DOM
一,基本定义 DOM是针对HTML和XML文档的API,根据W3C的HTML DOM标准,html文档中所以内容(无论是元素还是标签还是注释还是元素属性)都是节点. 二,Node类型:每一个节点都含有 ...
- JavaScript学习日志(四):BOM
BOM的核心对象就是window,这一章没什么好说的,总结一些比较常用的: 1,a未定义,a; //报错window.a; //undefined 不能用delete删除全局变量 2,html5不支持 ...
- JavaScript学习日志(一):变量,作用域和内存问题
一,变量分为两种类型:基本类型值和引用类型值,基本类型包括:Undefined, String, Boolean, Null, Number,我们无法给基本类型值添加属性: 二,复制变量值的时候,如果 ...
- JavaScript学习日志:关于js分号
javascript有自动添加分号的功能,但是不是所有情况都会自动添加,要区分: 1,如果语句独占一行 如果当前行内的语句能够被js正确解析,那么就会在句尾添加一个分号. (如何判断是否正确解析?你在 ...
- JavaScript学习日志(1)
javascript用法: 1.HTML中的脚本必须位于<script>与</script>标签之间,可被放置在HTML页面的<body>和<head> ...
- Javascript学习日志(三):闭包
说实话,前面一节的原型和原型链在当初学的时候并没有很头疼,对着高级编程第三版撸了几遍就理解透了,闭包这一节真的挺头疼的,很惭愧,看了差不多十来遍吧,还翻看了网上的其他博客和解释文档,五花八门的表达方式 ...
- JavaScript学习日志(二):面向对象的程序设计
1,ECMAScript不像其他面向对象的语言那样有类的概念,它的对象与其他不同. 2,ECMAScript有两种属性:数据属性和访问器属性.([[]]这种双中括号表示属性为内部属性,外部不可直接访问 ...
随机推荐
- C++静态库与动态库详解
1 库的概念? 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库. 2 动态库与静态库的概念? 先回顾一下编译过程: 2.1 静态库 静态库在链接阶段,会将汇编生成的目 ...
- 如何在Centos7上安装zookeeper 多实例
一.如何在Centos7上安装zookeeper 多实例 cd /usr/local/src/ wget https://mirrors.tuna.tsinghua.edu.cn/apache/zoo ...
- jquery获取一组相同标签内没有class的标签
$("ul>li[class!='pre'][class!='nex']").each(function(i){ $(this).html(i); });
- SVN配置常见错误
1.svnserve.conf:12: Option expected 为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,如 ...
- Python游戏引擎开发(七):绘制矢量图
今天来完毕绘制矢量图形. 没有读过前几章的同学,请先阅读前几章: Python游戏引擎开发(一):序 Python游戏引擎开发(二):创建窗体以及重绘界面 Python游戏引擎开发(三):显示图片 P ...
- 微信公众平台开发小记(ASP.NET)
微信的好东西,提供了很大的平台去发挥,公司最近推出微信公众账号,也接触了一些东西, 最终决定用asp.net来开发服务端程序. 微信公众平台的API很简单,利用XML来规范格式,并且所有的数据都在CD ...
- ASP.NET MVC扩展之HtmlHelper辅助方法
什么是HtmlHelper辅助方法? 其实就是HtmlHelper类的扩展方法,如下所示: namespace System.Web.Mvc.Html { public static class Fo ...
- 【一步一步走(1)】远程桌面软件VNC的安装与配置
近期在VPS上搭建Python Web环境.走了非常多弯路,借此记下. 先说说购买的VPS(PhotonVPS),我可不是打广告.仅仅是感觉这个VPS服务提供商还不错推荐给你大家,我之前也是体验过阿里 ...
- Win10系统Host文件修改不了权限不足怎么办
Win10系统Host文件修改不了权限不足怎么办 Win10系统Host文件修改不了不能保存 工具原料:电脑+win10 Win10系统Host文件修改不了权限不足方法步骤如下: .打开"运 ...
- Java学习笔记1、常用dos命令
cd 改变当前目录 sys 制作DOS系统盘 copy 拷贝文件 del 删除文件 deltree 删除目录树 dir 列文件名 diskcopy 制磁盘 edit 文本编辑 format ...