Python:Day44 Javascript
一个完整的Javascript实现是由三个不同的部分组成:
1、核心 ECMA Javascript
2、浏览器对象模型(DOM) document object model (整合JS、html、CSS)
3、浏览器对象模型(BOM) broswer object model (整合JS和浏览器)
Javascript的两种引入方式:
1、直接写在html中的<script>标签中
2、导入外部JS文件,引入格式:<script src="hello.js"></script>
变量:
javascript中声明变量使用var,如var a = 1;同一行也可以声明多个变量,多个变量之间用逗号隔开,如var a =1,b=2,c=3;
每行结束可以不加分号,没有分号会以换行符作为每行结束。
单行注释用//,多行注释用/* */
标识符:就是我们通常用的变量名
关键字:就是语言定义好的一些具有特殊功能的词,如var、functon等
保留字:就是现在还没有使用,以后可能作为关键字的一些词。
基本数据类型:
Number :整型、浮点型
String:通过单引号或双引号构成
Boolean:true、false (小写)
Null:占一个对象的位置
Undefined: 如果声明了某个变量,但是未对它赋值,则该变量是undefined,这个值是系统自动赋的
引用数据类型:
object
数据类型的转换:
数字 + 字符串:数据转换为字符串
数字 + 布尔值:true转换为1,false转换为0
字符串 + 布尔值:布尔值转换为字符串true或false
parseInt(3.14);
parseInt("3.14");
parseInt("3.14a");
parseInt("a3.14"); //NaN:当字符串转换成数字失败时就是NaN;属于Number数据类型
alert(NaN==0);
alert(NaN>0);
alert(NaN<0);
alert(NaN==NaN);
以上4个都是false。NaN数据在表达式中结果一定为false,除了!=
运算符
算术运算符
++ --
var a = 1;
var b = a++; //先赋值后加减 a+=1
alert(b); //1
alert(a); //2
var a = 1;
var b = ++a; //先加减后赋值
alert(b); //2
alert(a); //2
var x = 1 ;
alert(x++); //其实是x=x+1,而alert的是前最前的面的一个x,由于此种方式是后赋值,所以alert出来的是1,但是执行完x=2
alert(++x);
alert(--x);
alert(x--);
一元加减法:
var a=3; //3
var a="3" //3
var a="3.2" //3.2
var a="123a456" //NaN
var a="123a" //NaN
var a="a123" //NaN
b=+3
alert(b)
alert(typeof(b))
逻辑运算符:
等于 ( == ) 、不等于( != ) 、 大于( > ) 、 小于( < ) ?大于等于(>=) 、小于等于(<=)
与 (&&) 、或(||) 、非(!)
1 && 1 = 1 1 || 1 = 1
1 && 0 = 0 1 || 0 = 1
0 && 0 = 0 0 || 0 = 0
控制语句:
if 控制语句:
if (表达式){
语句1;
......
}else{
语句2;
.....
}
switch控制语句:
switch基本格式
switch (表达式) {
case 值1:语句1;break;
case 值2:语句2;break;
case 值3:语句3;break;
default:语句4;
}
异常处理:
try { //这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行 }
catch (e) { //如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
//e是一个局部变量,用来指用error对象或其它抛出的对象 }
finally { //无论try中代码是否有异常抛出(甚至是try代码块中有retrun语句),finally代码块中始终会被执行 }
对象分类:
Javascript的对象分为两种,一种是本地对象(native object)、宿主对象(host object)。本地对象包括内置对象。宿主对象就是浏览器和系统提供的对象。包括DOM和BOM
ECMAScript
Dom:操作与html相关的
BOM:操作与浏览器相关的
object对象:ECMAScript中的所有对象都由这个对象继承而来;Object对象中的所有属性和方法都会出现 在其它对象中
查看数据类型的两种方法:typeof、instanceof
typeof只能查看基本数据类型:
- a="hello world!";
- b=23.34;
- c=[1,2,3];
- alert(typeof(a)); //string
- alert(typeof(b)); //number
- alert(typeof(c)); //object
instanceof用来判断某个对象是不是属于某种类型:
- var a="hello world!";
- var a1=new String("hello a1");
- var b=23.34;
- var c=[1,2,3];
- alert(a instanceof String); //false,这种方法对简写的变量好像没法判断
- alert(a1 instanceof String); //true
- alert(b instanceof Number); //false
- alert(c instanceof Array); //true
11种内置对象:
包括:Array,String,Date,Math,Boolean, Number,Function,Global,Error,RegExp,Object
创建对象:
var aa = new String("hello");
var bb = new Array("星期一”,"星期二”,"星期三”,"星期四”)
Array对象:
数组是有序的,可以通过下标取值。
创建Array有两种方式,一种是直接创建,另一种是实例对象。
var arr=[1,2,3,4,'hello']
Array的属性:
获取数组元素的个数:length
- arr=[2,3,'eee',5555];
- alert(arr.length); //
Array的join方法:
在python中join是字符串的方法,在javascript是Array的方法。
javascript中数组的join方法是将数组中的元素用方法括号中的字符拼接起来。
- arr=[2,3,'eee',5555];
- ret=arr.join("+++++++");
- alert(ret); //2+++++++3+++++++eee+++++++5555
Array的push、pop方法:
push为压栈(将元素压到数组的最后面)
pop为弹栈(弹出最后一个元素)
- arr=[2,3,'eee',5555];
- arr.push(34,66,'world'); //直接在原数据上面进行操作
- alert(arr); //2,3,eee,5555,34,66,world
- ret=arr.pop(); //弹出数组最后一个元素,并且将弹出的元素作为返回值返回
- alert(ret); //world
Array的unshift、shift方法:
unshift为添加元素(将元素添加到数组最前面)
shift为移除元素(将数组最前面的元素移除)
- arr=[2,3,'eee',5555];
- arr.unshift(666);
- alert(arr); //666,2,3,eee,5555
- arr.shift();
- alert(arr); //2,3,eee,5555
函数:
function 创建方式1 (推荐方式)
- function fun1() {
- alert(123);
- return 8
- }
- var ret = fun1()
- alert(ret)
创建方式2:
- var fun2=new Function ("参数1","参数n","函数体");
- var add = new Function ("a","b","alert(a+b)")
- add(1,2)
function的属性和方法:
alert(add.length); length是参数的个数
注意:js的函数加载执行与python不同,它是整体加载完才会执行,所以执行函数放在函数声明上面或下面都可以:
匿名函数:
- // 匿名函数
- var func = function(arg){
- return "tony";
- }
- // 匿名函数的应用
- (function(){
- alert("tony");
- } )()
- (function(arg){
- console.log(arg);
- })('123')
Python:Day44 Javascript的更多相关文章
- Python:Day46 Javascript DOM
history对象: History 对象包含用户(在浏览器窗口中)访问过的 URL.窗口之间是相互独立的. <input type="button" onclick=&qu ...
- Python:Day45 Javascript的String字符串
typeof只能判断普通数据类型, 对于复杂的只是判断出来是一个Object: instanceof 可以判断数据是否是某一类型: alert(s instanceof String); String ...
- 以Python角度学习Javascript(一)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADZCAIAAACo85tgAAAgAElEQVR4Aey9SdAs13XnV/P8jW8e8D ...
- python中执行javascript代码
python中执行javascript代码: 1.安装相应的库,我使用的是PyV8 2.import PyV8 ctxt = PyV8.JSContext() ctxt.enter() ...
- Python:渗透测试开源项目
Python:渗透测试开源项目[源码值得精读] sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer Web服务器压力测试工 ...
- Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器)
Python:高级主题之(属性取值和赋值过程.属性描述符.装饰器) 背景 学习了Javascript才知道原来属性的取值和赋值操作访问的“位置”可能不同.还有词法作用域这个东西,这也是我学习任何一门语 ...
- Python:Python学习总结
Python:Python学习总结 背景 PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#.@.@@也好不到哪里(OO人员最该学习的一门语言). Pyth ...
- 【Python全栈-JavaScript】JavaScript入门
JavaScript基础知识点 一.JavaScript概述 参考:http://www.w3school.com.cn/b.asp JavaScript的历史 1.1992年Nombas开发出C-m ...
- python之路 JavaScript基础
一.JavaScript简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 浏览器的一部分,广泛用于客户端 ...
随机推荐
- check约束
-- 删除表 drop table check_test; -- 不为空,不为null的值只能是0,1(不为空,值只能是0,1) create table check_test( default_fl ...
- div和span标签
------------------------ ------------------------ ------------------------ 块级标签独占一行,不和别的标签在同一行显示:行内标 ...
- angular post 带参数 导出excel
原文地址:http://www.cnblogs.com/xujanus/p/5985644.html html <button class="btn btn-info" ng ...
- JS之表单提交时编码类型enctype详解
简介 form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x- ...
- 章节三、6-Getters-Setters和this关键字part02
一.如何在一个类中创建另外一个类的对象,然后用这个类的对象的引用来访问这个对象里面的成员,如下: //如何在一个类中创建另外一个类的对象,然后用这个类的对象的引用来访问这个对象里面的成员 Car bm ...
- MVC框架与三层架构
MVC框架 介绍: MVC全名Model View Controller Model:模型的意思,代表业务模型 View:视图的意思,代表用户界面 Controller:控制器的意思,控制器接受用户的 ...
- Troubleshooting SQL Server RESOURCE_SEMAPHORE Waittype Memory Issues
前言: 本文是对博客https://www.mssqltips.com/sqlservertip/2827/troubleshooting-sql-server-resourcesemaphore-w ...
- spring-AOP(面向切面编程)-xml方式配置
AOP是针对面向对象编程的一种补充,有时使用面向对象不能很好完成一些额外的功能业务时,可以采用AOP来进行补充. AOP术语: 切面(Aspect) 切面是用于编写切面逻辑的一个类,这个类很类似于JD ...
- Foreach用法
循环语句是编程的基本语句,在C#中除了沿用C语言的循环语句外,还提供了foreach语句来实现循环.那么我要说的就是,在循环操作中尽量使用foreach语句来实现. 为了来更好地说明为什么要提倡使 ...
- Python数据类型转换函数
数据类型转换函数 函 数 作 用 int(x) 将 x 转换成整数类型 float(x) 将 x 转换成浮点数类型 complex(real[,imag]) 创建一个复数 str(x) 将 x 转换为 ...