Pyhton学习——Day41
#一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
# 核心(ECMAScript)
# 文档对象模型(DOM) Document object model (整合js,css,html)
# 浏览器对象模型(BOM) Broswer object model(整合js和浏览器)
# Javascript 在开发中绝大多数情况是基于对象的.也是面向对象的.
# Javascript
# / | \
# ECMAScript DOM BOM
# ECMAScript 描述了以下内容:语法 类型 语句 关键字 保留字 运算符 对象 (封装 继承 多态) 基于对象的语言.使用对象.
#————————————————————————————————————————————————————————#
# JavaScript的引入方式
# {#1 直接编写#}
# <script>
# alert('hello yuan')
# </script>
# {#2 导入文件#}
# <script src="hello.js"></script>
# #————————————————————————————————————————————————————————#
# JS就是一个简单的随便的语言,弱类型语言
# JS创建变量用var创建
# 可以保存任何数据类型
#声明变量时不用声明变量类型. 全都使用var关键字
# 一行可以声明多个变量.并且可以是不同类型.
# (了解) 声明变量时 可以不用var. 如果不用var 那么它是全局变量.
# 变量命名,首字符只能是字母,下划线,$美元符 三选一,且区分大小写,x与X是两个变量
# 变量还应遵守以下某条著名的命名规则:
# Camel 标记法
# 首字母是小写的,接下来的字母都以大写字符开头。例如:
# var myTestValue = 0, mySecondValue = "hi";
# Pascal 标记法
# 首字母是大写的,接下来的字母都以大写字符开头。例如:
# Var MyTestValue = 0, MySecondValue = "hi";
# 匈牙利类型标记法
# 在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。
# 例如,i 表示整数,s 表示字符串,如下所示
# Var iMyTestValue = 0, sMySecondValue = "hi";
#————————————————————————————————————————————————————————#
# 数据类型
# 数字类型(Number)
# 整数:
# 在JavaScript中10进制的整数由数字的序列组成
# 精确表达的范围是 -9007199254740992(-253)
# 到
# 9007199254740992(253)
# 超出范围的整数,精确度将受影响
# 浮点数:
# 使用小数点记录数据
# 例如:3.4,5.6
# 使用指数记录数据
# 例如:4.3e23 = 4.3
# 16进制和8进制数的表达
# 16进制数据前面加上0x,八进制前面加0
# 16进制数是由0 - 9, A - F等16个字符组成
# 8进制数由0 - 7等8个数字组成
# 16进制和8进制与2进制的换算
# 字符串(String)
# 是由Unicode字符、数字、标点符号组成的序列
# 字符串常量首尾由单引号或双引号括起
# JavaScript中没有字符类型
# 常用特殊字符在字符串中的表达
# 字符串中部分特殊字符必须加上右划线\
# 常用的转义字符 \n:换行 \':单引号 \":双引号 \\:右划线
# 布尔型(Boolean)
# 简介
# Boolean类型仅有两个值:true和false,也代表1和0,实际运算中true=1,false=0
# 布尔值也可以看作on/off、yes/no、1/0对应true/false
# Boolean值主要用于JavaScript的控制语句,例如
# if (x==1){
# y=y+1;
# }else {
# y=y-1;
# }
# Null & Undefined
# Undefined 类型
# Undefined 类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。
# 当函数无明确返回值时,返回的也是值 "undefined";
# Null 类型
# 另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。
# 值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。
# 尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,
# null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。
# 如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。
# var person=new Person()
# var person=null
# 数据类型转换
# JavaScript属于松散类型的程序语言
# 变量在声明的时候并不需要指定数据类型
# 变量只有在赋值的时候才会确定数据类型
# 表达式中包含不同类型数据则在计算过程中会强制进行类别转换
# 数字 + 字符串:数字转换为字符串
# 数字 + 布尔值:true转换为1,false转换为0
# 字符串 + 布尔值:布尔值转换为字符串true或false
# 强制类型转换函数
# 函数parseInt: 强制转换成整数
# 例如parseInt("6.12")=6 ; parseInt(“12a")=12 ; parseInt(“a12")=NaN ;parseInt(“1a2")=1
# 函数parseFloat: 强制转换成浮点数 parseFloat("6.12")=6.12
# 函数eval:将字符串强制转换为表达式并返回结果 eval("1+1")=2 ; eval("1<2")=true
# ————————————————————————————————————————————————————————#
# ECMAScript 运算符
# 加(+)、 减(-)、 乘(*) 、除(/) 、余数(% ) 加、减、乘、除、余数和数学中的运算方法一样 例如:9/2=4.5,4*5=20,9%2=1
# -除了可以表示减号还可以表示负号 例如:x=-y
# +除了可以表示加法运算还可以用于字符串的连接 例如:"abc"+"def"="abcdef"
# 递增(++) 、递减(--)
# ECMAScript 逻辑运算符
# 逻辑 AND 运算符(&&)
# 逻辑 AND 运算的运算数可以是任何类型的,不止是 Boolean 值。
# 如果某个运算数不是原始的 Boolean 型值,逻辑 AND 运算并不一定返回 Boolean 值:
# 如果某个运算数是 null,返回 null。
# 如果某个运算数是 NaN,返回 NaN。
# 如果某个运算数是 undefined,返回undefined。
# 逻辑 OR 运算符(||)
# 与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值
# ECMAScript 赋值运算符
# 赋值 = JavaScript中=代表赋值,两个等号==表示判断是否相等
# 例如,x=1表示给x赋值为1
# if (x==1){...}程序表示当x与1相等时
# if(x==“on”){…}程序表示当x与“on”相等时
# 配合其他运算符形成的简化表达式
# 例如i+=1相当于i=i+1,x&=y相当于x=x&y
# ECMAScript等性运算符
# 执行类型转换的规则如下:
# 如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
# 如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
# 如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
# 如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
# 在比较时,该运算符还遵守下列规则:
# 值 null 和 undefined 相等。
# 在检查相等性时,不能把 null 和 undefined 转换成其他值。
# 如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。
# 如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。
# ————————————————————————————————————————————————————————#
# 控制语句
# if-else基本格式
# if (表达式){
# 语句1;
# ......
# }else{
# 语句2;
# .....
# }
# 功能说明
# 如果表达式的值为true则执行语句1,
# 否则执行语句2
# switch 选择控制语句
# switch基本格式
# switch (表达式) {
# case 值1:语句1;break;
# case 值2:语句2;break;
# case 值3:语句3;break;
# default:语句4;
# }
# for 循环控制语句
# for循环基本格式
# for (初始化;条件;增量){
# 语句1;
# ...
# }
# 功能说明
# 实现条件循环,当条件成立时,执行语句1,否则跳出循环体
# while 循环控制语句
# ————————————————————————————————————————————————————————#
# ECMA对象
# 对象的概念与分类:
# 由ECMAScript定义的本地对象.独立于宿主环境的 ECMAScript 实现提供的对象.(native object)
# ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现.
# 这意味着开发者不必明确实例化内置对象,它已被实例化了。
# ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。
# (built-in object)
# 所有非本地对象都是宿主对象(host object),
# 即由 ECMAScript 实现的宿主环境提供的对象。所有 BOM 和 DOM 对象都是宿主对象。
# 11种内置对象
# Array ,String , Date, Math, Boolean, Number Function, Global, Error, RegExp , Object
# Function 对象(重点)
# function 函数名 (参数){ 函数体;
# return 返回值;
# }
# 可以使用变量、常量或表达式作为函数调用的参数
# 函数由关键字function定义
# 函数名的定义规则与标识符一致,大小写是敏感的
# 返回值必须使用return
Pyhton学习——Day41的更多相关文章
- Pyhton学习——Day26
#多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...
- pyhton 学习
官方学习文档 https://docs.python.org/3/tutorial/
- 20190320_head first pyhton学习笔记之构建发布
1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...
- Pyhton学习——Day2
Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...
- Pyhton学习——Day28
#上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...
- Pyhton学习——Day27
# hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...
- Pyhton学习——Day25
#面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类, ...
- Pyhton学习——Day24
# #面向对象设计:# def dog(name,gender,type):# def jiao(dog):# print('One Dog[%s],wfwfwf'%dog['name'])# def ...
- Pyhton学习——Day23
#re模块方法:findall search#findall:返回所有满足匹配条件的数值,放在列表里#search : #函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象 ...
随机推荐
- vue .sync修饰符
.sync 修饰符 对一个 prop 进行“双向绑定”时,真正的双向绑定会带来维护上的问题,因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源. 那这个修饰符的原理是什么呢?其实还是vu ...
- centos7 选定默认启动内核,及删除无用内核
#使用cat /boot/grub2/grub.cfg |grep menuentry 查看系统可用内核 [root@bigapp-slave27 ~]# cat /boot/grub2/grub.c ...
- Python笔记12-----画图Matplotlib
1.matplotlib:pyplot和pylab 如: import pylab as pl pl.figure(figsize=(8,6),dpi=100)[建立的图像大小和图的精度] pl.pl ...
- ubuntu重置root密码(转载自https://zhinan.sogou.com/guide/detail/?id=316512881651)
ubuntu忘记root密码怎么办?如果普通用户忘记了怎么办 ### 第一种方法:无论你是否申请了root帐号,或是普通账号密码忘记了都没有问题的! 1. 重启ubuntu,随即长按shift进入gr ...
- json与object
json与object的区别:1.JSON是对象,但对象不一定是JSON2.对象的组成是由属性和属性值,也就是KEY->VALUE对组成,value可是是任意的数据类型,当value为一个函数 ...
- js中数组常用方法
1.Array.push() 此方法是在数组的后面添加新加元素,此方法改变了数组的长度: var aa=[1,2,3]; var bb=aa.push(4,5); console.log(bb) ...
- Project Euler 27 Quadratic primes( 米勒测试 + 推导性质 )
题意: 欧拉发现了这个著名的二次多项式: f(n) = n2 + n + 41 对于连续的整数n从0到39,这个二次多项式生成了40个素数.然而,当n = 40时402 + 40 + 41 = 40( ...
- CentOS 7下搭建高可用集群
一 .安装集群软件 必须软件pcs,pacemaker,corosync,fence-agents-all,如果需要配置相关服务,也要安装对应的软件. 二.配置防火墙1.禁止防火墙和selinux# ...
- 洛谷——P1802 5倍经验日
https://www.luogu.org/problem/show?pid=1802#sub 题目背景 现在乐斗有活动了!每打一个人可以获得5倍经验!absi2011却无奈的看着那一些比他等级高的好 ...
- Android获取图片实际大小兼容平板电脑
项目中有个图片在平板电脑中显示特别小的原因.一直苦于没找到原因,也没有平板电脑測试,今天找了个改动分辨率的,编写相关方法最终处理了,记录下比較: 好让以后不造轮子. 主要是获取文章相关图片显示问题.直 ...