8.21 js
2018-8-21 20:05:43
2018-8-21 20:56:30
明天再看!!!!
今天空闲多看了书 <百年孤独> <苏东坡传>

打印结果 shanghai


js的词法分析

// 函数的定义
function foo(a, b){
console.log("a:", a)
console.log("b:", b)
return a+b;
}
//匿名函数
var func = function (a, b){
console.log("a:", a)
console.log("b:", b)
return a+b;
}
//立即执行函数
//外部访问不到函数内部定义的变量(用立即执行函数防止变量污染全局变量)
(function(a, b) {
console.log("立即执行函数");
console.log(a+b);
var sss = "我是函数内部的变量"
}) (11, 22);
console.log("---------------------------------------------")
//函数的调用
var ret = foo(11, 12);
console.log("a+b=", ret);
func(11, 22);
// js中的词法分析
var age = 18;
function func3(){
console.log(age); // 去AO找age;
var age = 22; // AO.age = undefined
console.log(age)
}
func3(); // 问: 执行func3()之后的结果是?
// undefind 22;
var age = 18 ;
function foo(){
console.log(age);
var age = 22;
console.log(age);
function age(){
console.log('呵呵');
}
console.log(age);
}
foo(); // 执行结果?
//分析:
//1. 先分析,给AO赋值
// var age =22 ; --> AO.age=undefined;
// function age() {console.log("呵呵");} ---->AO.age =function()
// 2.真正执行阶段 就去AO上找
//functionn(){....}
//22
//22
//总共三个值
day52 1. 内容回顾 JS
-JS基础语法
-BOM(JS操作浏览器)
-DOM(JS操作文档) JS基础语法:
0. JS引入方式
1. 直接在script标签里面写代码
2. 在单独的JS文件中写代码,然后通过script标签的src属性引入写好的JS文件
1. 变量
1. var 变量名; var 变量名 = 值
2. 变量的命名 字母 数字 下划线和$组成
3. 推荐使用驼峰 2. 数据类型
1. 数字 Number
1. NaN
2. parseInt("") --> 把字符串转成数字
3. parseFloat("") --> 把字符串转成小数
2. 字符串 String
1. 字符串的常用方法
3. 布尔值 Boolean 4.数组 Array
1. 常用方法 5. null
6. undefined 3. 条件判断
1. if else
2. if; else if; else;
3. switch (值){
case 1:
console.log(...);
break;
case 2:
... default:
console.log(上面case都不满足就执行这一句);
}
4. 循环
1. for循环
for (var i=0;i<值;i++){
console.log(i);
}
2. while循环
var i = 5;
while (i>0){
console.log(i);
i--;
}
5. 运算符
1. 算数运算符
+ - * / % ++ --
2. 比较运算符
== != > < >= <=
注意!!! 强等于 === !== 3. 逻辑运算符
||(或) &&(与) !(非) 4. 赋值运算符
= += -= *= /= 补充:
Python的lambda 2. 今日内容
1. 函数
1. 函数的定义
2. arguments
func(11,22) arguments --> [11, 22] arguments[0] arguments[1] 3. 作用域
1. 函数的调用 要往回找 函数的定义阶段
2. 首先在函数内部找 -> 内部找不到就往外找,直到找到全局为止 4. 词法分析
1. 分析(分析的函数内部变量定义过程)
1. 先看参数
2. 看有没有局部变量
3. 看有没有函数定义
2. 执行(实际执行代码)
3. 内置的对象和方法
1. 自定义对象
1. {name: "xiaoqiang", age: 18}
-键不用加引号,加上也不出错
-值如果是字符串必须写双引号
2. new关键字形式 2. 内置的Date对象 --> Python中的内置模块 3. JSON对象 (背会)
1. 字符串转对象 --> obj = JSON.parse(string)
2. 对象转字符串 --> s = JSON.stringify(obj) 4. Math对象 5. RegExp(正则)
1. 两种定义方式:
1. new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$")
2. /new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$")/
2. 匹配模式
1. g 全局
2. i 忽略大小写
3. 坑
1. 正则表达式中间不能加空格
2. .test() --> .test(undefined) --> .test("undefined")
3. 全局模式下会有一个lastIndex属性 3. 今日作业
1. 把博客上Date的小练习写完 http://www.cnblogs.com/liwenzhou/p/8004649.html
2. 整理博客
3. Python复习 ***** \
8.21 js的更多相关文章
- 2.21 JS处理滚动条
2.21 JS处理滚动条 前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了.常见场景:当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到 ...
- vue-learning:21 - js - mixins
mixins 混入是一种对重复代码的组织方式,可以在多个组件间复用代码. 如果在项目中,在多个组件间有一段逻辑代码是共同的.那常见的处理方式是: 每个组件都复制粘贴代码(显然这是最不好方式) 将以共同 ...
- DIV+CSS+JS基础+正则表达式
...............HTML系列.................... DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素.DIV的起始 ...
- js之引用类型
一.摘要: <javascript高级程序设计第三版>一书中单独有一章对js的引用类型(Object.Array.RegExp.Function:基本包装类型:Boolean.Number ...
- JS相关重点知识 (概况)
1.value和innerHTML没有联系,只是value是表单的一个特有属性,而innerHTML是通用的. 2.当从外部引入js文件时,该外部文件里面可以有多个方法, html页面中的oncl ...
- js引用类型之valueof和tostring(三)
一.摘要: <javascript高级程序设计第三版>一书中单独有一章对js的引用类型(Object.Array.RegExp.Function:基本包装类型:Boolean.Number ...
- 36 个JS 面试题
1.JS中let和const有什么用? 在现代js中,let&const是创建变量的不同方式. 在早期的js中,咱们使用var关键字来创建变量. let&const关键字是在ES6版本 ...
- Java如何声明一个数组?JS如何声明一个数组?如何获取数组长度
1 Long[] numbers; //一般使用的定义方式,可分为静态和动态两种定义方式,下有说明. 2 Long numbers[]; //跟上面用法一致. 3 Long... numbers; / ...
- 一款简洁大气的jquery日期日历插件
本jquery插件名为manhuaDate,暂时只支持jquery 1.9.0以下版本,比如jquery-1.8.3.min.js 查看效果网址:http://keleyi.com/a/bjad/em ...
随机推荐
- CorelDRAW中关于锁定与解锁对象的操作
在编辑复制的图形时,有时为了避免对象受到操作的影响,可以使用“锁定与解锁对象”功能键对已经编辑好的对象进行锁定.被锁定的对象将不能进行任何编辑操作,本教程将详解CorelDRAW中关于锁定与解锁对象的 ...
- Cakephp中使用JavaScriptHelper来引入js文件
页面的head部分的内容在Cakephp中主要是有htmlhelper来进行控制的,而js部分则是由JavaScripthelper来进行控制的,在controller里面设置好:var $helpe ...
- 一个标准的,兼容性很好的div仿框架的基础模型!
<!DOCTYPE html> <html > <head> <meta http-equiv="Content-Type" conten ...
- linux环境中nagios(nagios core)安装?nagios安装?
需求描述: 最近准备给线上生产环境部署监控平台,对各个系统的资源使用情况,服务进行监控,采用nagios core版本进行部署, nagios core是开源版本的软件,是免费的nagios XI是上 ...
- 关于float样式
在认识float样式之前务必要认识position:absolute position:absolute 功能是:当前节点脱离文档流,对于其兄弟节点(即同一父节点下的节点)已经感觉不到他的存在(即他的 ...
- 添加额外的源, 使得yum可以安装更多的软件
RHEL 官方扩展源 yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch. ...
- 5种实现垂直居中css
摘要: 在我们制作页面的时候经常会遇到内容垂直居中的需求,今天分享5种垂直居中的方法,每种方法都有自己的优缺点,可以选择自己喜欢的方式.以下代码都经过本人亲自测试. line-height: < ...
- liunx(centos7 ) 免密码登录
centos7 1.准备两台机器 如:(A机器) 和 (B机器) A机器 删除(.ssh目录下文件 known_hosts) 2. 对两台机器生成密钥 在 (A机器)上执行命令: [root@iZ ...
- rpc框架thrift
跨语言的rpc框架 新建一个thrift文件 # ping service demoservice PingService { string ping(), ping函数的返回类型是字符串} serv ...
- gtk界面设计
一.GTK基本 #include <gtk/gtk.h> int main( int argc, char *argv[]) { GtkWidget *window; /*初始化整个GTK ...