Javascript 基础知识笔记
标签(空格分隔): 廖老师学习笔记 javascript 基本入门
根据廖雪峰老师官网,自己看后的简单笔记 第一小节
基本知识
<script type="text/javascript"></script>中默认type为Javascript,所以可以省略type指定为javascript。- 多个
alert出现时,alert也依次弹出。eg: alert('啦啦啦'); alert('ba啦啦');alert('baba啦'); ==与===的差别。A.==比较,它会自动转换数据类型再比较,所以不建议用 == 比较。B.===比较,它不会自动转换数据类型,如果数据类型不一致,返回false。NaN是一个特殊Number与所有其他值都不相等,包括它自己。 NaN===NaN; //false; isNaN(NaN); //truenull表示”空“;0时一个数值;‘ ’表示长度为0的字符串。- Javascript的数组包括
任意数据类型。 eg:[1,2,3.14,'hello',null,true] 有条件下数组都使用[]. 动态语言:变量本身类型不固定的语言。静态语言:定义变量时必须指定变量类型。strict 模式: 在Javascript代码的第一行写上: ‘use strict’;字符串ASCII字符可以以\x##形式的十六进制表示,例如: ‘\x41'; //等同于’A'; 字符串是不可变的,如果对索引赋值,不会出错,但没有任何效果。
基本函数
str.toUpperCase();把一个字符串全部变为大写。str.toLowerCase();把一个字符串全部变为小写。str.indexOf('hello');会搜索出字符串出现的索引,没有找到返回-1。str.substring(0,5);返回索引区间的子串。- 数组中简单函数
arr.indexOf(10);//元素10的索引为2; arr.slice(0,2);//得到arr[0],arr[1],arr[2],如果只有一个数字则从当前数字到结束。arr.push('a','b');//在arr末尾添加‘a','b';arr.pop();//删掉arr的最后一个元素。arr.unshift('a','b');//在头部添加a,b。arr.shift();//删掉arr第一个元素。arr.sort();//按数组中首字母的ASSII排序。arr.reverse();//反转数组子集排序;arr.splice(2,3,'a','b');//splice(开始删除的索引,删除的个数,添加的元素,添加的元素);arr.concat([1,12,3]);/ arr.concat(1,23,[4,54]) ;//数组链接。arr.join('-');// 数组内的元素用-连接起来。
对象
- 键值
name:'beautiful'形式申明,用,隔开。末尾不加,。 - 以
object.prop的形式访问个属性了。访问不存在的属性不报错,而是返回undefined。 prop in object ;'name' in xiaoming; 检测是否拥有这一属性。自身拥有,而不是继承可以用xiaoming.hasOwnProperty('name');//true or false。- javascript把null、undefined、0、NaN和''视为false,其他值一概视为true。
- 循环 for..in.. for(var key in arr) 把一个对所有的属性依次循环 出来。for..in...对array循环得到的是string而不是number。
过滤继承属性 , 用hasOwnproperty()。 for (var key in arr){ if(arr.hasOwnproperty(key)){ ;
Map&Set
- Map 是一组键值对的结构 。
var tab=new Map[['lili',98],['tao',89]]; //定义map函数 tab.get('lili'); //98 tab.set('chery',79);//添加 tab.delete('chery'); tab.has('chery');//false - Set是key的集合,但不存储value。由于key不能重复,所以key内没有重复的key。
var s = new Set([1, 3, 4, '5', 'fast']); var s2 = new Set([1, 2, 3, 3]); // 含1, 2, 3 s.add(45); s.delete(3); Array,Map,Set都属于iterable类型。
iterable都可以用for...of循环遍历
for (var x of a) { //遍历array,Set,Map
for...of 和for...in区别:for in 存在历史遗留问题,它遍历的为对象属性名称。array也是一个对象,它的每个元素被视为一个属性。但array的length属性却不包括在内。
var a = ['A', 'B', 'C']; a.name = 'Hello'; for (var x in a) { alert(x); // '0', '1', '2', 'name' }
最最最好的是使用iterable内置的forEach方法。它接受一个函数,每次迭代就自动的回调该函数。
var arr = ['a', 'l', 'b']; arr.forEach(function (element, index, array) { //element 元素 index 索引 array 字符串 }); var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]); m.forEach(function (value, key, map) { console.log(value, key); //'x','y','z' 1,2,3 });
Javascript 基础知识笔记的更多相关文章
- javascript基础知识笔记-自用
笔记内容根据个人基础知识不足不明白之处做的记录.主要看的:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 1.变量,变量的名字又叫标识符 ...
- JavaScript基础知识笔记
做前端几年了,一直疏于整理归纳,所以这两天把基础看了一遍,加上使用经验,整理了基础知识中关键技术,旨在系统性的学习和备忘.如果发现错误,请留言提示,谢谢! 重要说明:本文只列举基础知识点,中级和高级内 ...
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- JS基础知识笔记
2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...
- Java多线程基础知识笔记(持续更新)
多线程基础知识笔记 一.线程 1.基本概念 程序(program):是为完成特定任务.用某种语言编写的一组指令的集合.即指一段静态的代码,静态对象. 进程(process):是程序的一次执行过程,或是 ...
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...
随机推荐
- 背投广告js
js: $('#appwrap').append('<a href="http://web.2144.cn/gateway/reg?pos=8966" id="ad ...
- 关联规则算法Apriori的学习与实现
转自关联规则算法Apriori的学习与实现 首先我们来看,什么是规则?规则形如"如果-那么-(If-Then-)",前者为条件,后者为结果.关联规则挖掘用于寻找给定数据集中项之间的 ...
- android对大图片的缓存处理
废话不多说,直接上代码 package com.huge.emj.common.util; import java.io.File; import java.io.FileInputStream; i ...
- cat命令常用的13个技巧
在Linux系统中,大多数配置文件.日志文件,甚至shell脚本都使用文本文件格式,因此,Linux系统存在着多种文本编辑器,但当你仅仅想要查看一下这些文件的内容时,可使用一个简单的命令-cat. c ...
- mac 浏览器 强刷快捷键
windows 浏览器的刷新快捷键F5,强制刷新Ctrl+F5 Mac 系统下浏览器的刷新快捷键 command+R, 强制刷新快捷键为 command+shift+R
- 《ArcGIS Engine+C#实例开发教程》第八讲 属性数据表的查询显示
原文:<ArcGIS Engine+C#实例开发教程>第八讲 属性数据表的查询显示 第一讲 桌面GIS应用程序框架的建立 第二讲 菜单的添加及其实现 第三讲 MapControl与Page ...
- Tomcat部署(转)
首先说说tomcat的几种部署方法: 1.将应用文件夹或war文件塞到tomcat安装目录下的webapps子目录下,这样tomcat启动的时候会将webapps目录下的文件夹或war内容当成应用部署 ...
- ADDED_TO_STAGE 多次被调用
var mca:MovieClip=new MCA(); mca.addEventListener(Event.ADDED_TO_STAGE,addStageEvent); function addS ...
- BZOJ_1084_[SCOI2005]_最大子矩阵_(动态规划)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1084 给出一个n*m的矩阵,其中m<=2,取k个子矩阵,求最大子矩阵和. 分析 1.m= ...
- 轻松搭建自己的Linux发行版本
许多人想要搭建自己的Linux发行版本,可能是觉得有趣,也可能是为了学习更多的Linux知识,或者因为他们有很正式的问题要解决.但是秘密是:自己搭建完美的发行版本不是很困难的一件事.事实上,我们收集了 ...