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)的更多相关文章

  1. javascript学习日志:前言

    javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业 ...

  2. JavaScript学习日志(六):事件

    这篇随笔,深恶痛绝,敲到快结束的时候,凌晨00:19,突然闪退,也不知道是Mac的原因还是chrome的原因,重新打开的时候,以为自动保存有效果,心想没关系,结果他么的只保存了四分之一,WTF?!!! ...

  3. JavaScript学习日志(五):DOM

    一,基本定义 DOM是针对HTML和XML文档的API,根据W3C的HTML DOM标准,html文档中所以内容(无论是元素还是标签还是注释还是元素属性)都是节点. 二,Node类型:每一个节点都含有 ...

  4. JavaScript学习日志(四):BOM

    BOM的核心对象就是window,这一章没什么好说的,总结一些比较常用的: 1,a未定义,a; //报错window.a; //undefined 不能用delete删除全局变量 2,html5不支持 ...

  5. JavaScript学习日志(一):变量,作用域和内存问题

    一,变量分为两种类型:基本类型值和引用类型值,基本类型包括:Undefined, String, Boolean, Null, Number,我们无法给基本类型值添加属性: 二,复制变量值的时候,如果 ...

  6. JavaScript学习日志:关于js分号

    javascript有自动添加分号的功能,但是不是所有情况都会自动添加,要区分: 1,如果语句独占一行 如果当前行内的语句能够被js正确解析,那么就会在句尾添加一个分号. (如何判断是否正确解析?你在 ...

  7. JavaScript学习日志(1)

    javascript用法: 1.HTML中的脚本必须位于<script>与</script>标签之间,可被放置在HTML页面的<body>和<head> ...

  8. Javascript学习日志(三):闭包

    说实话,前面一节的原型和原型链在当初学的时候并没有很头疼,对着高级编程第三版撸了几遍就理解透了,闭包这一节真的挺头疼的,很惭愧,看了差不多十来遍吧,还翻看了网上的其他博客和解释文档,五花八门的表达方式 ...

  9. JavaScript学习日志(二):面向对象的程序设计

    1,ECMAScript不像其他面向对象的语言那样有类的概念,它的对象与其他不同. 2,ECMAScript有两种属性:数据属性和访问器属性.([[]]这种双中括号表示属性为内部属性,外部不可直接访问 ...

随机推荐

  1. 二十四种设计模式:工厂方法模式(Factory Method Pattern)

    工厂方法模式(Factory Method Pattern) 介绍定义一个用于创建对象的接口,让子类决定将哪一个类实例化.Factory Method使一个类的实例化延迟到其子类. 示例有SqlMes ...

  2. C语言-对一个结构体中的字段进行排序

    这是帮别人做的一个题目,好久没有接触过C语言了.有点发怵,只是似乎找回点当时学C语言,做课程设计的感觉. 题目:定义一个数组(学生结构体数组),里面包括学号.姓名.身份证和三科学生成绩.要求写一个函数 ...

  3. python对于0x01的处理

    对于python脚本,可以使用: .replace('\x01', '') 对于vim工具,可以使用: :%s/\%x01/ /g

  4. 基于CSRF的XSS攻击

    有些XSS不好利用啊,比如有些后台的XSS漏洞,你进不了别人的后台,怎么能 利用他的XSS漏洞呢?进得了别人的后台,还利用这个XSS漏洞干什么?其实这个时候可以种个后门(如果那是个持久型的XSS,这是 ...

  5. MFC【17-3】线程和线程同步化

    17.3小知识点 17.3.1消息泵 编写一个应用程序,让它响应某菜单命令,画几千个椭圆. void CMFC线程View::OnStartDrawing(void) { m_bQuit=FALSE; ...

  6. PhantomJS + Selenium webdriver 总结-元素定位

    webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要高些,使用id,name属性定位元素是最可靠,效率最高的一 ...

  7. 【转】C++ 虚函数&纯虚函数&抽象类&接口&虚基类

    1. 动态多态 在面向对象语言中,接口的多种不同实现方式即为多态.多态是指,用父类的指针指向子类的实例(对象),然后通过父类的指针调用实际子类的成员函数. 多态性就是允许将子类类型的指针赋值给父类类型 ...

  8. Win10注销在哪?怎么注销电脑

    进入Win10电脑桌面,同时按住键盘上的[Alt]+[F4]组合快捷键,可以快速呼出[关闭Windows]操作选项,在下面的"您希望计算机所什么"里选择[注销],然后点击底部的[确 ...

  9. push和unshift方法

    push和unushift都是向数组插入元素. push是向数组尾部插入元素. unshift是向数组头部插入元素. 共同点:都可以一次插入多个元素. arrayObject.push(newelem ...

  10. eclipse 编译JAVA 项目导入的WEB项目 无法编译问题

    右击你的项目 选择properties  ---->java Build Path--->Default output folder新建一个classes目录就好了 watermark/2 ...