JavaScript学习:

JavaScript代码存在形式:
-Head中
<script> </script>
-文件
<script src='代码所在路径'></script>
-PS:放在<body>标签内部最下方 注释:
单行//
多行/* .....*/ 变量: python:
name = 'alex'
JavaScript:
name = 'alex' # 全局变量
var name = 'eric' # 局部变量 写Js代码:
- html文件中编写
- 临时,浏览器的终端 console 基本数据类型
数字
a = 18;
将字符串转换为数字
age = ‘18’
age =parseInt(age);
字符串
a = "alex"
a.chartAt(索引位置)
a.substring(起始位置,结束位置)
a.lenght 获取当前字符串长度
obj.length 长度
obj.trim() 移除空白
obj.trimLeft()
obj.trimRight)
obj.charAt(n) 返回字符串中的第n个字符
obj.concat(value, ...) 拼接
obj.indexOf(substring,start) 子序列位置
obj.lastIndexOf(substring,start) 子序列位置
obj.substring(from, to) 根据索引获取子序列
obj.slice(start, end) 切片
obj.toLowerCase() 大写
obj.toUpperCase() 小写
obj.split(delimiter, limit) 分割
obj.search(regexp) 从头开始匹配,返回匹配成功的第一个位置(g无效)
obj.match(regexp) 全局搜索,如果正则中有g表示找到全部,否则只找到第一个。
====match示例:返回数组,()为分组================================
var str = 'For more information, see Chapter 3.4.5.1';
var re = /see (chapter \d+(\.\d)*)/i;
var found = str.match(re);
console.log(found);
// 输出 [ 'see Chapter 3.4.5.1', 'Chapter 3.4.5.1', '.1',
// index: 22,
// input: 'For more information, see Chapter 3.4.5.1' ]
obj.replace(regexp, replacement) 替换,正则中有g则替换所有,否则只替换第一个匹配项,
$数字:匹配的第n个组内容;
$&:当前匹配的内容;
$`:位于匹配子串左侧的文本;
$':位于匹配子串右侧的文本
$$:直接量$符号
================================================================================
定时器
循环:setInterval('f1();',2000) #(执行函数,毫秒数)
函数名
function f1(){
}
...
列表(数组)
a = [11,22,33] obj.length 数组的大小
obj.push(ele) 尾部追加元素
obj.pop() 尾部获取一个元素
obj.unshift(ele) 头部插入元素
obj.shift() 头部移除元素
obj.splice(start, deleteCount, value, ...) 插入、删除或替换数组的元素
obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,1) 指定位置删除元素
obj.slice( ) 切片
obj.reverse( ) 反转
obj.join(sep) 将数组元素连接起来以构建一个字符串
obj.concat(val,..) 连接数组
obj.sort( ) 对数组元素进行排序 字典
a = {'k1':'v1','k2':'v2'}
布尔类型:
小写
条件判断:
== 比较值相等
!= 不等于
=== 比较值和类型相等
!=== 不等于
|| 或/or
&& 且/and for循环
1. 循环时,循环的元素是索引(数组为下标,字典为key) a = [11,22,33,44]
for(var item in a){
console.log(item);
} a = {'k1':'v1','k2':'v2'}
for(var item in a){
console.log(item);
} 2.
for(var i=0;i<10;i=i+1){ } a = [11,22,33,44]
for(var i=0;i<a.length;i=i+1){ } 不支持字典的循环
switch (name) {
case '1':
console.log('name 等于1');
default:
console.log('default');
} 条件语句
if(条件){ }else if(条件){ }else if(条件){ }else{ } == 值相等
=== 值和类型都相等
&& and
|| or 函数: 普通函数:
function 函数名(a,b,c){ } 函数名(1,2,3)
function (形式参数) {
return XXX
}
匿名函数:
setInterval (function(){
console.log('1')
},5000)
自执行函数:(创建函数,并且自动执行)
function func() { }
func()
即:(function (arg){
console.log(arg)
})(arg=10)
测试用例:(function(arg){a = 0;while (a < arg){ console.log(a);a++}})(10)
序列化:
li = [1,22,33,33,22,33,534,345,1]
列表转换为字符串:JSON.stringify(li)
str1 = '[1,22,33,33,22,33,534,345,1]'
字符串转换为列表/字典:JSON.parse(str1)
转义:转义
decodeURI( ) URl中未转义的字符
decodeURIComponent( ) URI组件中的未转义字符
encodeURI( ) URI中的转义字符
encodeURIComponent( ) 转义URI组件中的字符
escape( ) 对字符串转义
unescape( ) 给转义字符串解码
URIError 由URl的编码和解码方法抛出
url = 'https://www.baidu.com/queuery=哈哈'
"https://www.baidu.com/queuery=哈哈"
encodeURIComponent(url)
"https%3A%2F%2Fwww.baidu.com%2Fqueuery%3D%E5%93%88%E5%93%88"
encodeURI(url)
"https://www.baidu.com/queuery=%E5%93%88%E5%93%88"
eval
python里:
val = eval(表达式,有返回值)
exec(执行代码,无返回值)
JavaScript里面:
功能等于python的集合。放表达式或者代码都行
时间: 获取当前时间
var now = new Date() now
Fri Nov 02 2018 23:09:51 GMT+0800 (中国标准时间)
now.getMinutes()/*获取分钟*/
9
now.setMinutes(33) /*修改当前时间*/
1541172831562
now
Fri Nov 02 2018 23:33:51 GMT+0800 (中国标准时间) 作用域:
其他语言:
以代码块作为作用域
例java:
public void Func() {
if (1==1) {
string name = 'java';
}
console.writeline(name);
}
--此段程序会报错:console.writeline找不到name
python:
以函数作为作用域
JavaScript:
一、以函数作为作用域,存在作用域链(一个变量从最里面的函数依次递归向上一级寻找,找到即取值)
二、函数的作用域在未被调用之前就已经创建,
例:
xo = 'alex'
function func () {
var xo = 'zhangmingda'
function inner(){
console.log(xo)
}
return inner;
}
var ret = func()
ret()
-执行结果:打印xo输出内部函数的变量值‘zhangmingda’
三、函数内局部变量,声明提前。
例:
function func() {
console.log(xxoo);
var xxoo = 'alex';
console.log(xxoo)
}
解释:若var xxoo = 'alex'; 不写,则程序报错。若写了,第一行不报错,因为在函数中,遇到变量内部自己会首先做一个声明var 变量名 值默认为undefined

JavaScript扫盲笔记:的更多相关文章

  1. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  2. JavaScript基础笔记一

    一.真假判断 真的:true.非零数字.非空字符串.非空对象 假的:false.数字零.空字符串.空对象.undefined 例: if(0){ alert(1) }else{ alert(2) } ...

  3. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  4. javascript - 工作笔记 (事件四)

    在javascript - 工作笔记 (事件绑定二)篇中,我将事件的方法做了简单的包装,  JavaScript Code  12345   yx.bind(item, "click&quo ...

  5. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  6. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  7. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  8. 你不知道的JavaScript上卷笔记

    你不知道的JavaScript上卷笔记 前言 You don't know JavaScript是github上一个系列文章   初看到这一标题的时候,感觉怎么老外也搞标题党,用这种冲突性比较强的题目 ...

  9. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

随机推荐

  1. 洛谷 P6914 - [ICPC2015 WF]Tours(割边+找性质)

    洛谷题面传送门 神仙题. 深夜写题解感受真好 我们考虑两个简单环 \(C_1,C_2\)​​​,我们假设颜色种类数为 \(k\)​​​,那么我们需要有 \(C_1,C_2\)​​​ 均符合条件,而由于 ...

  2. Shell 指定行处理head、tail、sed

    目录 Shell 指定行处理 head.tail.sed head 前几行 tail sed 删除.替换.新增.选取 案例 删除行 插入行 查看某行 替换某行 部分数据的查找并替换 读写操作 Shel ...

  3. accelerate

    accelerate accelerare, accumulare和accurate共享一个含义为to的词根,后半截分别是:fast, pile up, care (关心则精确). 近/反义词: ex ...

  4. day09 文件属性

    day09 文件属性 昨日回顾 yum底层原理: 第一步:执行yum install nginx安装命令 第二步:yum去/etc/yum.repos.d这个目录中 第三步:根据/etc/yum/re ...

  5. day11 函数

    day11 函数 一.函数基础 """ 1 什么是函数 函数是盛放代码的容器:把实现某一功能的代码放到一个函数内就制造一个工具 2 为何要用函数 没有用函数之前程序的问题 ...

  6. day16 循环导入、模块搜索路径、软件开发、包的使用

    day16 循环导入.模块搜索路径.软件开发.包的使用 1.循环导入 循环导入:循环导入问题指的是在一个模块加载/导入的过程中导入另外一个模块,而在另外一个模块中又返回来导入第一个模块中的名字,由于第 ...

  7. minSdkVersion、targetSdkVersion、targetApiLevel的区别

    在AndroidMenifest.xml中,常常会有下面的语句:  <uses-sdk android:minSdkVersion="4" android:targetSdk ...

  8. springboot-使用AOP日志拦截实现

    一 前言 借助spring的AOP功能,我们可以将AOP应用至全局异常处理,全局请求拦截等,本篇文章的核心功能就是使用AOP实现日志记录,比如哪些用户进行了哪些操作,对于一个成功的项目这是必须记录的, ...

  9. SQL模糊查询语句和Escape转义字符

    通配符描述示例%包含零个或更多字符的任意字符串.WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名._(下划线)任何单个字符.W ...

  10. 关于form表单提交ajaxForm和ajaxSubmit的用法与区别

    前几天在学习form表单提交时看到这两种方法,这两种方法都是实现form的ajax提交的方法,看了很多资料还是不太明白其用法和区别,最后直接自己写demo,很快就理解,所以说实操是学习的最快捷直接的途 ...