接上一篇笔记    ----->

打印:

                  

打印:

  

打印:

一、break 和 continue 的区别

1.break

1.break语句可用于跳出循环
2.也可以用break语句在循环结构终止本层循环体,从而提前结束本层循环(所在的循环体已经结束)

2.continue

1.continue语句的作用是跳过本次循环体中余下尚未执行的语句,如果出现了指定的条件,然后继续循环中的下一个迭代。可以理解为仅结束本次循环。
2.continue所在的循环体并没有结束

练习:

输出00以内的质数的最简内存占用最少的方式                    其中Math.sqrt    sqrt() 方法可返回一个数的平方根

 

二、对象

1、在ECMAscript中,引用类型是一种数据结构.用于将数据和功能组织在一起.在其他语言这种数据结构一般属于类(class)的范畴

   .尽管ECMAscript是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构.

 2、对象是某个特定引用类型的实例

       对象是使用new 操作符后跟一个构建函数来创建的

       构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的。

       其实本质上ECMAscript是没有构造函数的,只存在函数的构造调用。var obj=new Object();

 3、对象的分类

      1.内建对象

        --由ES标准中定义的对象,在任何的Es的实现中都可以使用

        --比如:Object Function Array Date String Number Boolean

      2.宿主对象

        --由JS的运行环境提供的对象,目前来讲主要是由浏览器提供的对象

        --比如 BOM DOM

      3.自定义对象

     --由开发人员自己创建的对象

//ES5(面向原型)  
继承
//引用数据类型 对象(存储数据的一种容器) 所有程序的核心:存储与使用值!! 对象的属性增删改查
var man={
 
  age:30,
  height:180,
  wife:{
    name:"媚拉",
    age:28,
    height:170
  }
};
  man.name="吴彦祖";//c
  console.log(man.name);//r
  man.name="彭于晏";//update
  console.log(man.name);//r
  delete man.name;//d
  console.log(man.name)//r
  console.log(man.wife)//r
注意:

      如果读取对象中没有的属性,不会报错而是会返回undefined

对象的属性名不强制要求遵守标识符的规范

JS对象的属性值,可以是任意的数据类型,甚至也可以是一个对象

in 运算符

通过该运算符可以检查一个对象中是否含有指定的属性

如果有则返回true,没有则返回false

语法:

         "属性名" in 对象

for-in 循环 

  var obj = {
    a: "aa",
    b: "bb",
    c: "cc",
    d: "dd"
  }
  for(var item in obj){
    console.log(item)
}

数据存储位置

   js中的变量都是保存到栈内存中的
     1.基本数据类型的值直接保存在栈内存中存储,值与值之间 是独立存在的,修改一个变量不会影响其他的变量
                2.对象是保存到堆内存中的,没创建一个新的对象,就会 在堆内存中开辟出一个新的空间,
                   而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,
                   当一个对象通过一个变量修改属性时,另一个也会受到影响
                       

引用数类型做  ==  判断时    比较的是栈中的地址值

  函数是JS中的一等公民    推荐的是函数化编程 

  立即可执行表达式:(function(){})()

没有重载:同名函数之间存在的是覆盖的关系,后面的覆盖前面定义的函数。

          js中没有重载的概念 

          js中的函数   实参列表可以和形参列表不一致

function test(num){//形参

        out:for(var i=2;i<num;i++){

         for(var j=2;j<=Math.sqrt(i);j++){

            if(i%j===0){

               continue out

               }

             }

             console.log(i)

           }  

        }

       num(1000);//实参

function test(){

//return undefined 默认一个return undefined

}

console.log(test())

总结:

 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

    1.  函数是js中的一等公民   js推崇函数化编程

    2.  js中只有函数这个概念   不分普通函数和构造函数

                分函数的普通调用   函数()  ---> 普通函数

                  函数的构造调用   new 函数() ---> 构造函数

                  js中是不存在构造函数的定义语法的!! 只有函数的构造调用

                  当一个函数被构造调用(new)时,当前这个函数就可以被认为是一个构造函数

     3. 在js中万物皆对象

     4. 对象 也叫实例 也叫实例对象

     5. 函数对象 Object对象 自定义对象 Person对象

   */

   // 在js中有个不成文的规定  首字母大写的函数 一般使用起来都是构造调用的

JavaScript笔记(4)的更多相关文章

  1. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  2. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

  3. [Effective JavaScript 笔记]第3章:使用函数--个人总结

    前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...

  4. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

    函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...

  5. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  6. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  7. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  8. JavaScript笔记目录

    JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待

  9. 蛋糕仙人的javascript笔记

    蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html

  10. JavaScript笔记(第一章,第二章)

    JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...

随机推荐

  1. 转:让MySQL支持emoji表情

    转自:http://www.cnblogs.com/suifu/p/5848269.html 公司有新要求,ios客户端要上线评论中可以使用emoji表情的功能,在mysql 5.5 之前,UTF-8 ...

  2. Oracle11g R2创建PASSWORD_VERIFY_FUNCTION相应password复杂度验证函数步骤

    Oracle11g R2创建PASSWORD_VERIFY_FUNCTION相应密码复杂度验证函数步骤 运行測试环境:数据库服务器Oracle Linux 5.8 + Oracle 11g R2数据库 ...

  3. java webproject中logback换配置文件的路径

    本人小站点:   http://51kxd.com/  欢迎大家不开心的时候訪问訪问,调节一下心情 web.xml中配置: <!-- windows  logback.xml文件跟web容器(比 ...

  4. 第二章 Linux常用命令

    1.命令基础 命令格式:  命令名  [选项] [参数1] [参数2] 命令必须小写,命令正常执行后返回一个0,表示执行成功,如果执行出错,就反悔一个非零值 2.简单的几个命令  who:列出所有正在 ...

  5. m_Orchestrate learning system---二十四、thinkphp里面的ajax如何使用

    m_Orchestrate learning system---二十四.thinkphp里面的ajax如何使用 一.总结 一句话总结:其实ajax非常简单:前台要做的事情就是发送ajax请求过来,后台 ...

  6. rest_framework 序列化篇

    感谢alex和武沛齐老师 rest_framework中的序列化表示 from rest_framework import serializersclass RoleSerializer(serial ...

  7. [洛谷P1169] [ZJOI2007] 棋盘制作 解题报告(悬线法+最大正方形)

    题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个 8×8 大小的黑白相间的方阵,对应八八六十四卦,黑白对应阴阳. 而我 ...

  8. PostgreSQL Replication之第二章 理解PostgreSQL的事务日志(1)

    在前面的章节中,我们已经理解了各种复制概念.这不仅仅是一个为了接下来将要介绍的东西而增强您的意识的理论概述,还将为您介绍大体的主题. 在本章,我们将更加接近实际的解决方案,并了解PostgreSQL内 ...

  9. PostgreSQL备份与还原

    物理备份:整个数据库的数据目录及文件做备份:备份整个数据库的文件系统. 物理恢复:恢复整个数据库的文静系统. 物理备份方法: 开启归档 select pg_start_backup('backup—— ...

  10. WLAN STA/AP 并发

    WLAN STA/AP 并发 Android 9 引入了可让设备同时在 STA 和 AP 模式下运行的功能.对于支持双频并发 (DBS) 的设备,此功能让一些新功能得以实现,例如在用户想要启用热点 ( ...