2017.07.12 学习记录 js基础学习及代码

来源:互联网 发布:物体识别软件 编辑:程序博客网 时间:2024/06/01 21:07

1、alert更多是测试的时候用,在写js代码的时候尽量多测试。

2、DOM(文档对象模型)

3、改变style属性值

  <body>

  <script>

  function changeText() {

   var tm=document.getElementById("tm");

   tm.style.color="pink";

   tm.style.fontSize="10px";

}

  </script>

  <div id="tm"  style="font-size:50px;color:green;"onclick="changeText()">提莫一米五</div>

</body>

注意:改变字体大小是“tm.style.fontSize="10px";

4、isNaN();

Is not a number

不是一个数字,返回值是一个boolean型结果,不是数字返回true;

          alert(isNaN("中国"));//true

          alert(isNaN(2.5));//false

          alert(isNaN("2"));//false这里返回false是因为JavaScript是弱类型语言.

5=====

   //"=="是判断值相等,"==="是判断类型和值是否都相等

   alert(isNaN(2=="2"));//true

     alert(isNaN(2==="2"));//false

总结:javascript是脚本语言,浏览器会在读取代码时,逐行地执行脚本代码编译。

6、注释:

 Javascript注释

1、单行注释  “//

2、多行注释  “/*代码代码代码*/

7、JavaScript变量:

变量是存储信息的容器。

关键字:var

例子:

第一种:var x=2;//声明并复制

  var y=5;

 var z=x+y;//声明变量,运算并赋值

 第二种:var x,y,z;//声明

x=2;//赋值

Y=5;

z=x+y;//运算并赋值

注意:javascript是弱类型语言,在声明变量时并没有给出具体的类型,和Java的写法不一样,

比如var int x=2,这样的写法是错误的。

Javascript拥有动态类型,这意味着相同的变量可用作不同的类型:

例如:

var x                // x 为 undefined

var x = 6;           // x 为数字

var x = "Bill";      // x 为字符

8、parseInt();

  var a=2;

  var b="2";

  var c=b+a;

alert(c);

这样的写法c的结果是22;

想要进行算术运算,可以先转换为数字

var a=2;

  var b="2";

  var c=parseInt(b)+a;

alert(c)

这样的c的值就是4

9、时间函数:

Date

setInterval("getNow()",1000);//每隔一秒舒服

function getNow()

{

var myDate =new Date();

var year = myDate.getFullYear();//获取当前完整年份

var month = myDate.getMonth();//获取当前月份

month =month+1;//月是从0开始  所以加1

var data = myDate.getDate();//获取当前天数

var hour =myDate.getHours();//获取当前小时

var minute =myDate.getMinutes();//分钟

var secend =myDate.getSeconds();//

var div =document.getElementById("time");

div.innerHTML= year+""+month+""+data+""+hour+""+minute+""+secend+"";//打印

}

 

10、数组:

a) Js的数组和java的数组有些不一样,JS数组可以存放不同类型的值。

var cars =new Array();

注意这里声明数组没有给定数组长度。

cars[0]=Audi;

cars[1]=BMW

cars[2]=Volvo;

或者:

 

var cars=new Array("Audi","BMW","Volvo");

 

11、Javascript对象

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

比如:

var  animal={

name: "tiger ",

sex: "Male",

skin: "yellow",

};

alert(animal.name);

alert(animal.sex);

    alert(animal.skin);

取值的时候还可以这样写:

   alert(animal["name"]);

     alert(animal["sex"]);

     alert(animal["skin"]);

 

12Undefined 和 Null

Undefined 这个值表示变量不含有值。

可以通过将变量的值设置为 null 来清空变量。

13、字符串

属性:length 获取字符串的长度。

a) 常用的几个方法

i. IndexOf(); 检索字符串 返回第一次出现的位置 从0开始,没匹配到则返回-1

ii. match(); 找到一个或多个正则表达式的匹配。

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

14、函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

15、变量

局部 JavaScript 变量

 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。

您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。

只要函数运行完毕,本地变量就会被删除。

全局 JavaScript 变量

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。

向未声明的 JavaScript 变量来分配值

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

这条语句:

carname="Volvo";

将声明一个全局变量 carname,即使它在函数内执行。


代码练习:

<html>
<head>
<title> </title>
<script type="text/javascript"></script>


</script>
</head>
<body>
<!--点击下面的按钮,将代码块循环五次-->
<button onclick = "vv()">循环</button>
<p id = "cc"></p>
<script>
function vv(){
var x="";
for(var i=0;i<5;i++){
x=x+"我是循环第"+i+"次"+"<br/>";
}
document.getElementById("cc").innerHTML=x;
}
</script>


<!-- while 数组循环-->
<script>
 cars=["vdvcd","cdcc","56322","cdscd"];
 var i=0;
 while(cars[i]){
alert(cars[i]);
i++;
 }
</script>


<!--do while 数组循环-->
<script>
function whilexunhuan(){
var x="";
var i = 1;
do{
x = x+"haha"+i+"<br/>";
i++;
}
while(i<=5);
document.getElementById("x").innerHTML=x;
}
</script>
<button onclick="whilexunhuan()">do/while</button>
<p id="x"></p>


<!--改变原标签的元素-->
<h1 id="header">Old Header</h1>
<script>
var element=document.getElementById("header");
element.innerHTML="New Header";
</script>
<p>"Old Header" 已被修改为 "New Header"。</p>


<!--获取本页面标签id和方法体-->
<input type = "button" value = "获取标签01" onclick = "testE()" />


<script>
function testE(){
var inputs = document.getElementsByTagName("input");
alert(inputs.length);
for(var i=0;i<inputs.length;i++){
alert(inputs[i].type+inputs[i].value+inputs[i].onclick);
}
}
</script><br/>


<!--JQ 属性-->


<!--JQ 选择器-->


<!--JQ onload和onunload事件属性-->
<script>
function goodbye()
{
alert("欢迎");
}
</script>
//<body onunload="goodbye()"/>


<!--onchange事件  元素值改变时触发-->
<!-- 离开输入框自动把小写字母变成大写-->
请输入英文字符:<input type="text" id="fname" onchange="myFunction()">
<p>当您离开输入字段时,会触发将输入文本转换为大写的函数。</p>
<script>
function myFunction()
{
var x=document.getElementById("fname");
x.value=x.value.toUpperCase();
}
</script>


<!--onchange事件  拓展,选择城市-->
<div>
省<select id = "sheng" onchange = "tessB()">
<option value = "请选择">请选择</option>
<option value = "四川">四川</option>
<option value = "北京">北京</option>
</select>
市<select id = "sheng" onchange = "tessB()">
<option value = "请选择">请选择</option>
<option value = "四川">四川</option>
<option value = "北京">北京</option>
</select>
</div>
<script>
function tessA(){
var sheng = document.getElementById("sheng").value;
alert(sheng);
var sheng02 = document.getElementById("sheng");
alert(sheng02.options[sheng02.selectedIndex].text);
}
function tessB(){
var sheng = document.getElementById("sheng");
alert(sheng.options[sheng.selectedIndex].text);
}
</script>


<!-- 一个简单的 onmouseover-onmouseout 实例:获取焦点,失去焦点-->
<div onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:yellow;width:120px;height:20px;padding:40px;color:red;">把鼠标移到上面</div>
<script>
function mOver(obj)
{
obj.innerHTML="谢谢"
}


function mOut(obj)
{
obj.innerHTML="把鼠标移到上面"
}
</script>




<!-- 鼠标点击事件事件-->
<div onmousedown="mDown(this)" onmouseup="mUp(this)" style="background-color:green;color:#ffffff;width:90px;height:20px;padding:40px;font-size:12px;">请点击这里</div>
<script>
function mDown(obj)
{
obj.style.backgroundColor="#1ec5e5";
obj.innerHTML="请释放鼠标按钮"
}


function mUp(obj)
{
obj.style.backgroundColor="green";
obj.innerHTML="请按下鼠标按钮"
}
</script>


<!-- 创建节点---在原节点的基础上才能追加元素-->
<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">这是另一个段落。</p>
</div>
<script>
var para=document.createElement("p");
var node=document.createTextNode("这是新段落。");
para.appendChild(node);


var element=document.getElementById("div1");
element.appendChild(para);
</script>




<!-- 删除节点,必须首先获得该元素的父元素:-->
<br/><br/>
<div id="div1">
<p id="p1">这是一个段落。</p>
<p id="p2">woshi另一个段落。另一个段落。</p>
</div>


<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>




<!-- BOM 浏览器对象模型  window  open-->
<form>
<input type = "button" value = "打开窗口" onclick = "open()">
</from>
<script>
function open(){
window.open("https://www.baidu.com/");
}
</script>


<form action = "">
用户名:<input id = "username" type = "text"/>
<input type = "button" value = "提交" onclick = "testD()">
</from>
<script>
function testD(){
var username = document.getElementById("username").value;
location.href = "https://www.baidu.com?username="+username;
}
</script>
</body>
</html>

原创粉丝点击