JavaScript基础回顾知识点记录2
js 使用嵌套for循环输出三角形
for(var i=0; i<5; i++){
//正三角
// for(var j=0; j<i+1; j++){
// document.write("* ");
// }
// 倒三角
for(var j=0; j<5-i; j++){
document.write("* ");
}
document.write("<br />");
}
js 中 break和continue只能在switch或循环语句中使用
break: 默认会立即终止离它最近的那个循环语句。 后可以跟一个lable 表示指定终止某个for循环
lable:循环语句 ( 给该循环语句命名)
continue: 默认只对最近的循环语句跳出当前循环次数。 后可以跟一个lable 表示指定跳过某个for循环当前循环次数 eg:
outer:
for(var i = 0; i<5; i++) {
document.write("外层"+i);
for(var j = 0; j<5; j++) {
if(j=1){
break/continue outer;
}
document.write("内存"+j);
}
} 如果不在break/continue后加outer, 则默认终止/跳过内存for循环。
js 中 对象的基本操作
// 使用构造函数来创建对象
var obj = new Object();
或者
var obj = {name:"张三",age:18}; (创建的同时添加属性)
// 给对象添加属性 (属性值可以是任意数据类型)
obj.name = "张三";
obj['sex'] = "男"; //检查对象中是否含有某属性
console.log("age" in obj); // 有的话输出true 没有的话输出false
js 中 基本数据类型和引用数据类型的区别
基本数据类型eg:
var a = 1;
var b = a;
a++;
console.log("a="+a); //a = 2
console.log("b="+b); //b = 1 引用数据类型eg:
var a = new Object();
a.age = 18;
var b = a;
a.age = 19;
console.log(a.age); // 19
console.log(b.age); // 19 1、基本数据类型的值是存储在栈内存中,值与值之间独立存在,修改一个变量,其他变量不会改变
2、引用数据类型(对象)的值是存储在堆内存中,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而
变量保存的是对象的内存地址
js 中 函数的实参可以为任意数据类型。
js 中 立即执行函数(匿名函数),往往只执行一次
(function(){
alert('我是立即执行函数');
})();js 中 全局作用域下,创建的变量和函数都会作为window对象的属性和方法保存。
<script type="text/javascript">
var a = 1;
console.log(a); //1
console.log(window.a); //1
function b() {
console.log(2);
}
window.b(); //2
b(); //2
</script>
js 中 使用var声明的变量会在所有代码执行前声明。function 函数名(){} 会在所有代码执行前创建函数。
js 中 碰到大量定义有相同属性的对象时,可以使用工厂方法创建对象(构造函数一般是首字母大写,可以理解为类,然后实例化)。
function Person(name,age) {
this.name = name;
this.age = age;
}
var obj2 = new Person("张三",18);
var obj3 = new Person("李四",20);
var obj4 = new Person("王五",24);
console.log(obj2,obj3,obj4); //输出:{"age":18,"name":"张三"} {"age":20,"name":"李四"} {"age":24,"name":"王五"} 检查obj2是否是Person类的一个实例
console.log(obj2 instanceof Person);js 中 原型对象
- 什么是原型对象:我们创建的每个函数,解析器都会向函数中添加一个属性prototype,该属性对应着一个原型对象。
- 如果作为普通函数调用,则没有用。如果是构造函数调用(即类的实例化),实例化的对象有一个隐含属性指向构造函数的原型对象。
- 原型对象相当于一个公共区域,所有同一个类的实例都可以访问。可以将共通内容放置到原型对象中
- 当访问一个属性或方法时,会现在对象自身中找,如果没有则去原型对象中找。
function Person(name,age) {
this.name = name;
this.age = age;
}
Person.prototype.a = 1;
Person.prototype.sayHello = function(){
console.log('hello');
}
obj4.a = 2;
var obj2 = new Person("张三",18);
var obj3 = new Person("李三",19);
var obj4 = new Person("王三",20);
console.log(obj2.a); //输出1
console.log(obj3.a); //输出1
console.log(obj4.a); //输出2
obj2.sayHello(); //hello
JavaScript基础回顾知识点记录2的更多相关文章
- JavaScript基础回顾知识点记录6-操作元素样式和事件对象(介绍基本使用)
js 中 操作元素样式 通过js修改元素内联样式(设置和读取的都是内联样式) 获取当前元素显示的样式 <html> <head> <meta charset=" ...
- JavaScript基础回顾知识点记录4-正则表达式篇(介绍基本使用)
js 中 正则表达式使用 创建正则对象和test方法使用 /* 创建正则表达式的对象 语法: var 变量 = new RegExp("正则表达式","匹配模式" ...
- JavaScript基础回顾知识点记录3
js 中 垃圾回收 //将不在使用的对象设置为null , js就会自动进行垃圾回收机制 var obj = {}; obj = null; js 中 数组基本介绍 数组也是一个对象 与普通对象功能类 ...
- JavaScript基础回顾知识点记录1
js执行顺序为从上往下执行 js中有6种数据类型 基本数据类型为: String Number Boolean Null Undefined 引用数据类型为: Object 使用typeof 查看对象 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- JavaScript基础回顾一(类型、值和变量)
请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...
随机推荐
- C++ 智能指针浅析
C++ 智能指针浅析 为了解决 C++ 中内存管理这个老大难问题,C++ 11 中提供了三种可用的智能指针.(早期标准库中还存在一种 auto_ptr,但由于设计上的缺陷,已经被 unique_ptr ...
- while循环、do..while循环
While循环 While循环呢它是更具条件来判断是否执行大括号里的内容 ,只要条件成立就会一值执行直到不满足条件它的语法格式: while(循环条件){ 执行语句 }那么我们来做一个小测试看看: p ...
- 七牛云创建存储空间并绑定自定义域名-https协议
七牛云创建存储空间并绑定自定义域名-https协议 一.准备 0.绑定自定义域名的前提:你起码拥有过一个备案过的域名[一级域名] 1.在七牛云创建一个存储空间 2.存储空间绑定自定义域名(cdn加速) ...
- 前端学习 linux —— 第一篇
前端学习 linux - 第一篇 本文主要介绍"linux 发行版本"."cpu 架构"."Linux 目录结构"."vi 和 v ...
- node线上项目连接mysql出现 504 Gateway Time-Out
var connection = mysql.createConnection({host : 'localhost',user : 'root',password : '123456',port: ...
- MongoDB 的安装和基本操作
MongoDB 的安装 使用 docker 安装 下载镜像: docker pull mongo:4.4.8(推荐,下载指定版本) docker pull mongo:latest (默认下载最新版本 ...
- AMS1117降压电路
AMS1117芯片为正向低压差稳压器,内部集成过热保护和限流电路,其固定输出版本电压可为1.5V.1.8V.2.5V.2.85V.3.0V.3.3V.5.0V,设计采用3.3V输出即ASM1117-3 ...
- 什么?让每一个开源项目更安全?啊?还有IDE工具?难道是它?
背景 入编程界6年来,大大小小的安全漏洞是真滴听了不少,xxx通过日志入侵了,xxxx通过请求入侵了,等等等等. 近期fastJson又报安全漏洞,敢巧自己又"被"跳槽到了新公司, ...
- Deep Learning-深度学习(一)
深度学习入门 1.人工智能.机器学习.深度学习 1.1 人工智能(AI) 一个比较宽泛的概念.即用来模拟人的智能的理论,并对这个模拟出来的智能进行延伸和开拓.通俗来讲就是要达到用机器模拟人类的聪慧来处 ...
- 一文解析Pinia和Vuex,带你全面理解这两个Vue状态管理模式
Pinia和Vuex一样都是是vue的全局状态管理器.其实Pinia就是Vuex5,只不过为了尊重原作者的贡献就沿用了这个看起来很甜的名字Pinia. 本文将通过Vue3的形式对两者的不同实现方式进行 ...