Python 前端 js基础
Javascript 概述
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理。
1、JavaScript代码存在形式
| 1 2 3 4 5 6 7 | <!--方式一 --><script type"text/javascript"src="JS文件"></script><!--方式二 --><script type"text/javascript">    Js代码内容</script> | 
2、JavaScript代码存在位置
- HTML的head中
- HTML的body代码块底部(推荐)
由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。
| 1 2 3 4 5 6 | 如:<script src="https://www.gstatic.com/og/_/js/k=og.og2.en_US.iF4jnkQuaf0.O/rt=j/t=zcms/m=def/exm=in,fot/d=1/ed=1/rs=AA2YrTv5-POC4Ks9GtGRdY2ywUWisqz7-Q"></script><script>    alert('123');</script> | 
3、变量
- 全局变量
- 局部变量
JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量
| 1 2 | var name ="seven"# 局部变量age =18# 全局变量 | 
注:注释 // 或 /* */
js压缩:一般js文件都被压缩,然后子再传递给浏览器端,jquery.min.js就是jquery.js压缩后的,格式发生了改变,例如,函数是被压缩成一行。
4、基本数据类型
数字(Number)
| 1 2 3 4 5 | var page =111;var age =Number(18);var a1 =1,a2 =2, a3 =3;      #统一一行来定义多个局部变量parseInt("1.2");               #字符串转换为int类型parseFloat("1.2");        #字符串转换为浮点型 | 
console.log(age, typeof age) #typeof 查看数据的类型
字符串(String)
| 1 2 3 4 5 6 7 8 9 10 | var name ="wupeiqi";var name =String("wupeiqi");var age_str =String(18);常用方法:    obj.trim()                      #去除空格    obj.charAt(index)               #根据索引来取值    obj.substring(start,end)        #获取序列,和python的切片一样    obj.indexOf(char)               #获取想要字母的下标    obj.length                      #获取字符串的长度 | 
如python 一样,js也是可以对字符串做操作的,
布尔(Boolean)
| 1 2 3 | var status =true;          #注意首字母是小写var status =false;var status =Boolen(1==1) | 
数组(Array)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | var names =['alex', 'tony', 'eric']var names =Array('alex', 'tony', 'eric')       #创建数字的两种方法常用方法:    添加        obj.push(ele)                           #追加        obj.unshift(ele)                        #最前插入        obj.splice(index,0,'content')           #指定索引插入,索引,中间必须是0,content    移除        obj.pop()                               #数组尾部获取,并移除        obj.shift()                             #数组头部获取,并移除        obj.splice(index,count)                 #数组指定位置后count个字符         切片        obj.slice(start,end)               合并        newArray = obj1.concat(obj2)       翻转        obj.reverse()         字符串化        obj.join('_')    长度        obj.length字典var items ={'k1': 123, 'k2': 'tony'} | 
更多操作见:http://www.shouce.ren/api/javascript/main.html
javascript的序列化与反序列化:
  
  
undefined
| 1 2 | undefined表示未定义值var name; | 
null
| 1 | null是一个特殊值 | 
5、循环语句
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | var names =["alex", "tony", "rain"];//数组:方式一for(var i=0;i<names.length;i++){    console.log(i);    console.log(names[i]);}//数组:方式二for(var index innames){    console.log(index);    console.log(names[index]);}var names ={"name": "alex", "age": 18};//字典:方式一               #因为字典的key不是数字,所以只有这一种循环的模式for(var index innames){    console.log(index);    console.log(names[index]);}//while循环while(条件){    //break;    //continue;} | 
6、条件语句
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | //if条件语句    if(条件){    }elseif(条件){            }else{    }var name ='python';var age =1;//switch,case语句    switch(name){        case '1':            age =123;            break;        case '2':            age =456;            break;        default :            age =777;    } | 
7、异常处理
| 1 2 3 4 5 6 7 | try{}catch(e) {}finally{} | 
8、函数
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 函数的声明    function func(arg){        returntrue;    }        匿名函数    var func =function(arg){        return"tony";    }自执行函数    (function(arg){        console.log(arg);    })('123') | 
9、面向对象
| 1 2 3 4 5 6 7 8 9 10 11 | function Foo (name,age) {    this.Name =name;    this.Age =age;    this.Func =function(arg){        returnthis.Name +arg;    }}var obj =new Foo('alex', 18);var ret =obj.Func("sb");console.log(ret); | 
Dom 概述
文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。我们最为关心的是,DOM把网页和脚本以及其他的编程语言联系了起来。DOM属于浏览器,而不是JavaScript语言规范里的规定的核心内容。
注:一般说的JS让页面动起来泛指JavaScript和Dom
Dom等于把整个页面封装起来,可以利用,document.getXXX的方式来调用其的内容。
1、选择器
| 1 2 3 | document.getElementById('id');document.getElementsByName('name');document.getElementsByTagName('tagname'); | 
  
  获取这个id=‘hello’正行的代码
 获取这个id=‘hello’正行的代码
  
  
2、内容
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | innerTextinnerHTMLvar obj =document.getElementById('nid')obj.innerText                       # 获取文本内容obj.innerText ="hello"# 设置文本内容obj.innerHTML                       # 获取HTML内容obj.innerHTML ="<h1>asd</h1>"# 设置HTML内容特殊的:以下这些都需要value来获取值    input系列    textarea标签    select标签    value属性操作用户输入和选择的值 | 
让网页动起来:
<p id="hello">1</p>
<button type="button" onclick="abc()">+1</button> <script>
function abc(){
var a = document.getElementById("hello");
var text = a.innerText;
var text = parseInt(text);
text += 1;
a.innerText = text }
     <input type="text" id="search" value="请输入关键字" onfocus="abc()" onblur="cba()">
     <script>
         function abc(){
             var ndi = document.getElementById('search')
             var value = ndi.value;
             if(value == '请输入关键字'){
                 ndi.value = '';
             }
         }
         function cba(){
             var ndi = document.getElementById('search')
             var value = ndi.value;
             if(!value.trim()){
                 ndi.value = '请输入关键字'
             }
         }
     </script>
输入框显示值
3、创建标签
dd
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 方式一:    var obj =document.createElement('a');    obj.href ="http://www.etiantian.org";    obj.innerText ="老男孩";    var container =document.getElementById('container');    //container.appendChild(obj);    //container.insertBefore(obj, container.firstChild);    //container.insertBefore(obj, document.getElementById('hhh'));方式二:    var container =document.getElementById('container');    var obj ="<input  type='text' />";    container.innerHTML =obj;    //'beforeBegin', 'afterBegin', 'beforeEnd',  'afterEnd'    //container.insertAdjacentHTML("beforeEnd",obj); | 
 <body>
     <div id="container"></div>
     <a href="http://www.baidu.com" onclick="return addevent()">添加</a>
 <script>
         function addevent(){
             var nid = document.getElementById("container")
             var tag = "<input type='text' />"
             nid.innerHTML = tag;
             return false;
         }
 </script>
 </body>
自定义的函数优先执行,然后再执行自带的函数。

4、标签属性
| 1 2 3 4 5 6 7 8 9 10 11 | var obj =document.getElementById('container');固定属性    obj.id    obj.id="nid"    obj.className    obj.style.fontSize ="88px";自定义属性    obj.setAttribute(name,value)    obj.getAttribute(name)    obj.removeAttribute(name) | 
5、提交表单
| 1 | document.geElementById('form').submit() | 
6、事件

特殊的:
| 1 2 3 | window.onload =function(){}         //jQuery:$(document).ready(function(){})        //onload是所有DOM元素创建、图片加载完毕后才触发的。而ready则是DOM元素创建完毕后触发的,不等图片加载完毕。图片还么有渲染,就可以进行事件的执行。 | 
特殊参数:this,event
Python 前端 js基础的更多相关文章
- 前端-js基础
		HTML三把利剑之一,浏览器具有解析js的能力 一.js基础 在HTML中可以将JavaScript/JS的代码写在head中,被script标签所包裹,当浏览器解释HTML时,遇到style标签时, ... 
- 前端JS基础知识
		1. 原型 / 构造函数 / 实例 原型(prototype): 一个简单的对象,用于实现对象的 属性继承.可以简单的理解成对象的爹.在 Firefox 和 Chrome 中,每个JavaScript ... 
- Python 前端 Html基础
		概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页的标准语言.相当于定义统一 的规则.大家都来遵守它,这样就可以让浏览器根据标记语 ... 
- Python 前端 Css基础
		CSS样式存在的位置 1.放置在标签内,局部生效 <div style="color: red;font-size: 18px;">hello world</di ... 
- 前端05 /js基础
		前端05 /js基础 昨日内容回顾 css选择器的优先级 行内(1000) > id(100) > 类(10) > 标签(1) > 继承(0) 颜色 rgb(255,255,2 ... 
- 前端总结·基础篇·JS(一)五大数据类型之字符串(String)
		前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(二)补充 前端总结·基础篇·JS(一)五大数据类型之字符串(String) 目录 这是& ... 
- 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)
		目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ... 
- 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数
		前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ... 
- 前端总结·基础篇·JS(四)异步请求及跨域方案
		前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ... 
随机推荐
- 表单和HTML5
			1.form表单 <form action="" method=""> </form> action: 规定当提交表单时,向何处发送表单 ... 
- 零基础逆向工程11_C语言05_结构体
			结构体小结 结构体是按照分配的大小,局部变量会自动数据对齐 1字节对齐,省空间,但cpu查找效率低 4字节对齐,不省空间,但cpu查找效率高 VC6默认的结构对齐大小 项目右键-> settin ... 
- Autoit3 如何捕足控件
			以任务管理器为例,在命令行提示符下输入taskmgr.exe 接下来识别这个窗口上的控件 在AU3 中提供了一个捕捉控件的工具是Au3Info.exe 这里记录了控件的标题,控件的类型,控件的坐标和 ... 
- Win10微软帐户切换不回Administrator本地帐户的解决方法【亲测】
			在Win10系统中经常会用到微软帐户登录,如应用商店等地方,不过一些用户反馈原来使用Administrator帐户被绑定微软帐户后无法切换回本地帐户,连[改用本地帐户登录]按钮都没有,那么怎么解决呢? ... 
- python爬虫之路——无头浏览器初识及简单例子
			from selenium import webdriver url='https://www.jianshu.com/p/a64529b4ccf3' def get_info(url): inclu ... 
- 学习Unity 4.6新GUI系统
			(搬运自我在SegmentFault的博客) 最近在学习Unity的过程中,自己做一款小游戏自娱自乐.自然需要用到GUI.但4.5中的GUI很难用,一个选择是传说中的NGUI插件.但对于4.6中的新G ... 
- 2002-2003 ACM-ICPC Northeastern European Regional Contest (NEERC 02) H	 Heroes Of Might And Magic (隐含dp)
			问题是求一个方案,实际隐含一个dp.法力是递减的,所以状态是DAG,对于一个确定的状态,我们贪心地希望英雄的血量尽量大. 分析:定义状态dp[i][p][h]表示是已经用了i的法力值,怪兽的位置在p, ... 
- [uva]AncientMessages象形文字识别 (dfs求连通块)
			非常有趣的一道题目,大意是给你六种符号的16进制文本,让你转化成二进制并识别出来 代码实现上参考了//http://blog.csdn.net/u012139398/article/details/3 ... 
- 数据库要素 ER
			数据库的要素即为ER: 即为表和关系. 再往下即为字段.记录. 往上即为数据操作.管理: 包含多表操作: 在往上为事务. 再往上为大数据.高并发. 
- 传输途径 ath9k层到硬件层
			这里只写了ath9k层到虚拟硬件层的一些东西,mac层的没有整理. 传输途径主要从ath9k_tx() --->ath_tx_start() --->ath_tx_send_normal( ... 
