表达式语句

greeting ="Hello"+name;//赋值语句
i*=3;
count++;
delete o.x; //删除
alert(greeting); //函数
window.close();
y=Math.cos(x);

复合语句和空语句

function(){
x=Math.PI;
console.log("x="+x);
}
//初始化一个数组
for(i=0;i<a.length;a[i++]=0);

1.if…else…; else if

2.switch

3.while,do/while,for(in)

4.break,continue,return

5.标签语句

6.throw

  <script>
var str="Hello";
function demo(){
try{
var e=document.getElementById("txt").value;
if(e==""){
throw "请输入:";
}
}catch (err){
alert(err);
}
}
demo();
</script>

7.try/ catch/ finally

   <script>
var str="Hello";
function demo(){
try{
alert(str);
}catch (err){
alert(err);
}
}
demo();
</script>

8.with

嵌套很深的时候用with简化代码

document.forms[0].name.value;
document.forms[0].address.value;
document.forms[0].email.value; //直接访问表单元素
with(document.forms[0]){
name.value="";
address.value="";
email.value="";
}

9.debugger

以调试模式运行

10.use strict

严格代码解析

对象

1.对象常见用法:创建、设置、查找、删除、检测、枚举

2.属性特性:可写(是否可以设置值)、可枚举(是否能通过for/in循环返回)、可配置(是否可以删除或修改)

3.对象特性:原型、类、扩展标记

4.分类

(1)内置对象:ECMAScript规范定义的对象或类。如:字符串、数值、数组、函数、日期、正则表达式

(2)宿主对象:JavaScript的解释器所嵌入的宿主环境定义的(如Web浏览器)。如:表示网页结构的HTMLElement

(3)自定义对象:运行中的Javascript代码创建的对象

(4)自有属性:直接在对象中定义的属性

(5)继承属性:在对象的原型对象中定义的属性

创建对象

1.对象直接量

var empty={};       //没有任何属性
var point={x:0,y:0}; //两个属性
var book={
"main title":"JavaScript", //属性名有空格,必须用字符串表示
'sub-title':"The Definitive Guide", //属性名有连字符,必须用字符串
"for":"all audiences", //保留字,必须用引号
author:{
firstname:"David",
surname:"Flanggan"
}
};

2.通过new创建对象

var a=new Array();
var r=new RegExp("js");

3.原型

普通对象都有原型

所有内置构造函数都具有一个继承自Object.prototype的原型

一系列原型对象就是原型链

new Date创建的Date对象的属性同时继承Date.prototype和Object.prototype

4.Object.create()(待补充)

var o1=Object({x:1,y:2});   //o1继承了属性x和y

5.通过函数创建对象

function people(name,age){
this.name=name;
this.age=age;
}
son=new people("Mike",18);
document.write("name:"+name+" age:"+age);

属性的查询和设置

//查询
var author=book.author;
var title=book["main title"]; //[]内必须是字符串 //设置
book.author="David";
book["main title"]="JavaScript";

继承

在原型链中一直查找,直到null为止

var o={};
o.x=1;//给o一个x属性
var p=inherit(o);
p.y=2;//p继承o,且给p一个y属性
var q=inherit(p);
q.z=3;
var s=q.toString();
q.x+q.y //返回3,x和y分别继承自o和p

首先要检查原型链,判定是否允许复制操作

//例如,继承对象含一个只读属性x
var unitcircle={r:1};
var c=inherit(unitcircle);
c.x=1;
c.y=2;
c.r=2;/*覆盖继承来的r属性*/
unitcircle.r; /*返回1,原型对象没有修改*/

属性访问错误

查询不存在的属性不会报错,返回undefined

查询不存在的对象(如null和undefined)的属性,会报错

设置属性失败:

1.继承只读属性

2.继承已继承且只读的属性

3.没有使用setter方法继承属性???

book.subtitle;//返回undefined,subtitle属性不存在
var length=book.subtitle.length;//抛出类型错误异常,undefined没有length属性
//避免出错的方法
var len=undefined;
if(book){
if(book.subtitle) len=book.subtitle.length;
}
/*或者*/
var len=book&&book.subtitle&&book.subtitle.length;

删除属性

delete只是断开属性和数组对象的联系,而不会去操作属性

delete book.author;//book不再有author属性
delete book["main title"];//book不再有main title属性

只能删除自有属性,不能删除继承属性

删除成功没有任何副作用,返回true

o={x:1}
delete o.x;//删除x,返回true

不能删除会返回false的情况

删除不可配置属性(例如,通过变量声明和函数声明创建的全局对象的属性),报错:类型错误

delete  Object.prototype;//不可配置,不能删除
var x=1;//声明一个全局变量
delete this.x;//返回false
var f(){};
delete this f;//返回false this.x=1;//声明一个可配置的全局属性
delete x;//返回true

第四章 javascript的语句、对象笔记摘要的更多相关文章

  1. 第四章 JavaScript操作DOM对象

    第四章   JavaScript操作DOM对象 一.DOM操作 DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API接口,1988年,W3C发布了第一级 ...

  2. JavaScript进阶 - 第7章 JavaScript内置对象

    第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的, ...

  3. 第三章 JavaScript操作BOM对象

    第三章   JavaScript操作BOM对象 一.window对象 浏览器对象模型(BOM)是javascript的组成之一,它提供了独立与浏览器窗口进行交换的对象,使用浏览器对象模型可以实现与HT ...

  4. JQuery制作网页—— 第二章 JavaScript操作BOM对象

    1.window对象: 浏览器对象模型(BOM)是javascript的组成之一, 它提供了独立与浏览器窗口进行交换的对象,使用浏览器对象模型可以实现与HTML的交互. 它的作用是将相关的元素组织包装 ...

  5. 《Java从入门到失业》第四章:类和对象(4.5):包

    4.5包 前面我们已经听过包(package)这个概念了,比如String类在java.lang包下,Arrays类在java.util包下.那么为什么要引入包的概念呢?我们思考一个问题:java类库 ...

  6. 《Visual C# 从入门到精通》第三章使用判断语句——读书笔记

    第3章 使用判断语句 3.1 使用布尔操作符 布尔操作符是求值为true或false的操作符. C#提供了几个非常有用的布尔操作符,其中最简单的是NOT(求反)操作符,它用感叹号(!)表示.!操作符求 ...

  7. JQuery制作网页—— 第四章JavaScript对象及初识面向对象

    1.对象:在JavaScript中,所有事物都是对象,如字符串.数值.数组.函数等. JavaScript中的基本数据类型: number(数值类型)   string(字符串类型)  boolean ...

  8. Programming In Scala笔记-第四章、类和对象

    类似于Java,Scala中也有类和对象的概念. 一.类.属性和方法 1.类 类是对一类事物的抽象,当一个类被定义后,就可以以该定义为模板,定义该类的一系列对象.比如说有以下一个模板 人类: 有姓名: ...

  9. Java基础知识笔记第四章:类和对象

      编程语言的几个发展阶段 面向机器语言 面向过程语言 面向对象语言:封装.继承.多态 类 类声明 class Person{ ....... } class 植物{ ....... } 类体 类使用 ...

随机推荐

  1. 爬虫:输入网页之后爬取当前页面的图片和背景图片,最后打包成exe

    环境:py3.6 核心库:selenium(考虑到通用性,js加载的网页).pyinstaller 颜色显示:colors.py colors.py  用于在命令行输出文字时,带有颜色,可有可无. # ...

  2. mongo官方企业版安装及数据库授权使用

    通过安装.deb包的方式,系统是Ubuntu 16.04 1. Import the public key used by the package management system.(导入包管理系统 ...

  3. 性能测试day06_需求设计的学习(性能重中之重,思维方向永远重于工具)

    今天接着来学习下性能知识,本来是应该先学习一下LR的用法的,不过听完云层大大的课之后,我感觉工具没有这一篇来的重要,我们知道性能有三大步骤:负载->监控->调优,但是在这个之前我们首先要搞 ...

  4. File mapping

    文件映射的三个功能: 1.File mapping allows the process to use both random input and output (I/O) and sequentia ...

  5. Oracle SQL 优化规则

    一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系 ...

  6. TensorFlow Android Camera Demo 使用android studio编译安装和解决Execution failed for task ':buildNativeBazel'报错

    可以参考官网:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android#android-stud ...

  7. SpringMVC 重定向和请求转发(转载)

    本文系转载,原文地址:https://blog.csdn.net/m0_37450089/article/details/78703366   servlet的请求转发(forward)和重定向(se ...

  8. 正确理解c和c ++的复杂类型声明

    本文作者girlrong是网易广州社区的C语言版版主,这篇文章被选在精华区.很是不错,不敢独享!据说她乐于助人,虚心诚恳,颇受网友欢迎.只可惜现在已退隐江湖了.在最近学习C语言过程中,了解些前辈大牛的 ...

  9. Python设计模式 - UML - 包图(Package Diagram)

    简介 包图是对各个包及包之间关系的描述,展现系统中模块与模块之间的依赖关系.一个包图可以由任何一种UML图组成,可容纳的元素有类.接口.组件.用例和其他包等.包是UML中非常常用的元素,主要作用是分类 ...

  10. CO-产地证--需要的国家以及操作流程。

    需要产地证的国家一般是与中国有合作的亚非拉国家,比如: 巴基斯坦.智利.以色列.韩国.土耳其.越南.澳大利亚. 流程: 1.在海关官网上填报信息. 2.提交,客户在他国家的官网上确认. 3.确认无误后 ...