JavaScript学习笔记之二
一 js与json数据格式的转换:序列号与反序列化
JSON.stringify(jsobj, ' ');//将js的obj转换为json对象;
JSON.parse()
把json对象变成一个JavaScript对象,参数可以带函数以便进行灵活处理;
二正则 表达式:可进行复杂的字符串处理,匹配。
三 js的面向对象:面向对象一般有类class、实例obj,js没有class,一般通过一个已有实例来创建新的对象,方法有
3.1 Object.create(已存在对象)来创建新的对象
3.2新版本的用__proto__
newobj.__proto__ =oldobj;
3.3用new构建对象:构造函数首字母应当大写,而普通函数首字母应当小写,这样,一些语法检查工具如jslint将可以帮你检测到漏写的new
function Student(props) {
this.name = props.name || '匿名'; // 默认值为'匿名'
this.grade = props.grade || 1; // 默认值为1
} Student.prototype.hello = function () {
alert('Hello, ' + this.name + '!');
};
/*几个巨大的优点:一是不需要new来调用,二是参数非常灵活,可以不传*/
function createStudent(props) {
return new Student(props || {})
}
3.4原型集成继承:
function Student(props) {
this.name = props.name || 'Unnamed';
} Student.prototype.hello = function () {
alert('Hello, ' + this.name + '!');
} function PrimaryStudent(props) {
Student.call(this, props);
this.grade = props.grade || 1;
} function inherits(Child, Parent) {
var F = function () {};
F.prototype = Parent.prototype;
Child.prototype = new F();
Child.prototype.constructor = Child;
}
// 实现原型继承链:
inherits(PrimaryStudent, Student); // 绑定其他方法到PrimaryStudent原型:
PrimaryStudent.prototype.getGrade = function () {
return this.grade;
};
3.5 新的es6标准的class继承:注意基类和扩展类都用class,继承关系用extends,初始化父类用super()
class Student {
constructor(name) {
this.name = name;
} hello() {
alert('Hello, ' + this.name + '!');
}
} class PrimaryStudent extends Student {
constructor(name, grade) {
super(name); // 记得用super调用父类的构造方法!
this.grade = grade;
} myGrade() {
alert('I am at grade ' + this.grade);
}
}
浏览器:
windows不但充当全局作用域,而且表示浏览器窗口,属性window.innerWidth 、 window.innerHeight
navigator
对象表示浏览器的信息:浏览器名称。版本,语言等
location
对象表示当前页面的URL信息:网址、端口、协议、文件路径等
document
对象提供的getElementById()
和getElementsByTagName(),document.getElementsByClassName()/
可以按ID获得一个DOM节点和按Tag名称获得一组DOM节点querySelector()
和querySelectorAll()
history
对象的back()
或forward ()
,相当于用户点击了浏览器的“后退”或“前进”按钮,尽量不用
JavaScript学习笔记之二的更多相关文章
- JavaScript学习笔记(二)——字符串
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...
- JavaScript 学习笔记(二)
学习内容: 一.变量的定义 二.JS的基本数据类型 三.JS的基本语法 1.变量的定义: 任何语言中最基本的东西就属于变量了,那么如何定义变量以及运用,其实是一件很简单的事情.. JS中提供了如何 ...
- JavaScript学习笔记(二)——选项卡小结
Js制作选项卡小结 1.先构思好需要展示的页面效果,比如这样 2.需要显示的效果通过html和css制作出来,包括选项(第一课.第二课)的鼠标停留背景变色.下方选项页内容切换的内容等. 3.把此选项卡 ...
- javascript学习笔记(二)
二.DOM DOM是"Document Object Model"(文档对象模型)的首字母缩写,当创建了一个网页并把它加载到WEB浏览器 中时,DOM就在后台生成,它讲根据你编写的 ...
- JavaScript学习笔记(十二) 回调模式(Callback Pattern)
函数就是对象,所以他们可以作为一个参数传递给其它函数: 当你将introduceBugs()作为一个参数传递给writeCode(),然后在某个时间点,writeCode()有可能执行(调用)intr ...
- JavaScript学习笔记(二)原型
JavaScript不包含传统的类继承模型,而是使用prototype原型模型.JavaScript使用原型链的继承方式. function Foo() { this.value = 42; } Fo ...
- JavaScript学习笔记--语法二
条件判断与C语言一样 两种循环.for 循环和 while 循环,JavaScript不区分整数和浮点数,统一用Number表示,所以不是 int i var x = 0; var i; for (i ...
- JavaScript学习笔记(二)——函数和数组
第二章 函数简介 1 第一个函数示例 <script language="JavaScript" type="text/JavaScript"> f ...
- javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量
定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. <!DOCTYPE ht ...
随机推荐
- python如何离线装包 离线如何部署python环境
1,安装python windows: 我用的是python3.6.6.exe安装包,需要提前下载好 ubuntu: 自带的python,如果是ubuntu18.04的话,自带的应该是3.6.8 2, ...
- JS高级---总结apply和call方法的使用
apply和call的使用方法 apply的使用语法 函数名字.apply(对象,[参数1,参数2,...]); 方法名字.apply(对象,[参数1,参数2,...]); call的使用语法 ...
- HTML的媒体元素(视频+音频)
网页的媒体元素 包括 视频 音频 首先创建一个文件夹,放视频和音频 播放(非自动播放+自动播放) 视频播放 1.1. 打开网页不自动播放 <video src="../ ...
- 洛谷 1219:八皇后 (位运算 & DFS)
题目链接: https://www.luogu.org/problem/show?pid=1219#sub row:受上面的皇后通过列控制的位置 ld:受上面的皇后通过从右至左的斜对角线控制的位置 r ...
- 【Python】【爬虫】爬取酷狗音乐网络红歌榜
原理:我的上篇博客 import requests import time from bs4 import BeautifulSoup def get_html(url): ''' 获得 HTML ' ...
- web开发一些资源的在线引用地址
<!-- Bootstrap --> <link rel="stylesheet" href="https://cdn.bootcss.com/boot ...
- dw选择器
选择器并没有一个固定的定义,在某种程度上说,jQuery的选择器和样式表中的选择器十分相似.选择器具有如下特点:1.简化代码的编写2.隐式迭代3.无须判断对象是否存在jQuery 的选择器可谓之强大无 ...
- 安装mongo以及相关扩展
背景:看到了一个nodejs的对mongo操作的课程,于是想学一下. * 1.于是打算先在自己的vps上安装一个mongodb:[ https://docs.mongodb.org/manual/tu ...
- 路飞-自定义User表和Media配置
user模块User表 创建user模块 """ 前提:在 luffy 虚拟环境下 1.终端从项目根目录进入apps目录 >: cd luffyapi & ...
- Panda的学习之路(3)——pandas 设置特定的值&处理没有数据的部分
先设定好我们的dataframe: # pandas 设置特定的值 dates=pd.date_range(',periods=6) # print(dates) df=pd.DataFrame(np ...