Javascript 知识点简介
如何在HTML中引入JS?
所有重定向的HTML标签内都可以嵌入javascript代码。
浮点数不要用 == 来进行判断
var
num=0;
for(var
i=0;i<10;i++){
num += 0.1;
} alert(num);
// num:0.9999999999999
boolean 类型
不同于.NET只判断true或false,JS里 0, 0.00, "", null 返回的都是
false函数
普通声明:
function test(){};function test(arg1,arg2..argN){}
匿名函数:
var test =
function(){
}
回调函数:
(仅靠传递变量搞不定的,可以传递函数)
function
test(a,b,funA){
return funA(a,b); // 方法执行由用户传入的函数决定 最典型的示例是
数组的sort()方法可以接收指定的排序规则}
函数调用方式:
function
test(){
alert("Hello");}test();
var fun1 == test;fun1(); //
函数也能赋值给变量,因此函数也是数据类型的一种alert(fun1); // result:输出整个函数的声明(这里指的声明包括
函数名 和 代码段)
函数参数:
function
numAdd(num1,num2){
return num1 + num2;}numAdd(3,5) // 常规调用numAdd(2,4,6,8,10) //
非常规调用呢?其实fun也可以改写成下面这样:function
numAdd(){ var
result = 0;
for(var i=0;i
参数的默认值
function test(a,b)
{
if(typeof(a) == "undefined")
a=1;
if(typeof(b) == "undefined")
b=2;
} function test(a,b)
{
if(!a)
a=1;
if(!b)
b=2;
} function test(a,b)
{
// 最简洁的方式
a = a? a:1;
b = b? b:2;
}
我们在Javascript中声明的函数被加载到哪了?
window 对象。JS中,函数也是基于对象调用的,由于 window
对象可以省略,因此我们可以直接调用自己写过的函数!
global对象的 eval_r()方法
(△)
global 对象的 eval_r()方法相当于JS程序中的代码解析器 可以执行合法的字符串,示例:
var str = "var a="+ f +";a+=a"var f = 5;eval_r(str);alert(a); //
10
注:如果不执行 eval 方法是获取不到变量a的
自定义对象
由于没有Class的类的概念,而对象又是要new出来的 因此要通过函数才能创建出对象。
方式一:这个方法是最初设计的原型和构思
function person()
{
} var p = new person();
p.name = "XJ"; // propertyp.age = 30;
p.play = function()
{ // method document.write("Playing......");}
方式二:
var person = new Object();
person.name = "XJ"; // propertyperson.age = 30;
person.play = function(){ // method document.write("Playing......");}
方式三:
function person(){
var p = new Object();
p.name = "XJ"; // property
p.age = 30;
p.play = function()
{ // method
document.write("Playing......");
}
return p;
}
获取对象: var p = person();
方式四:
function person(name,age,play)
{
this.name=name;
this.age=age;
this.play=play;//method
} var p = new person("xj","30",
function{ document.write("Playing......");}); alert(p.name);p.play();
遍历对象的所有元素(属性,方法)
for(var tmpName in p){ alert(p[tmpName]);}
注意:这里获得的都是元素名,而不是元素的值,for..in对于数组而言获取的是索引。这是有别于C#中foreach的。
with 结构的用法
with(document){
write("Hello");}
with 语句块可以让使用对象的属性和方法变的语法更为简单,适用于多次操作一个对象的成员时。
Javascript 知识点简介的更多相关文章
- JavaScript面向对象简介
JavaScript面向对象简介 @(编程) [TOC] 1. 命名空间 命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能. 在JavaScript中,命名空间只是 ...
- JavaScript知识点整理(一)
JavaScript知识点(一)包括 数据类型.表达式和运算符.语句.对象.数组. 一.数据类型 1) js中6种数据类型:弱类型特性 5种原始类型:number(数字).string(字符串).bo ...
- javascript知识点积累
8年javascript知识点积累 08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题, ...
- Javascript:必须知道的Javascript知识点之“单线程事件驱动”
heiboard: Javascript:必须知道的Javascript知识点之“单线程事件驱动”
- Javascript知识点记录(三)设计模式
Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方. prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么 ...
- Javascript知识点记录(二)
Javascript入门易,精通难,基本上是共识的一个观点.在这个篇幅里,主要对一些难点进行记录. 鸭子类型 Javascript属于动态类型语言的一种.对变量类型的宽容,给了很大的灵活性.由于无需类 ...
- 8年javascript知识点积累
08年毕业就开始接触javascript,当时是做asp.net发现很多功能用asp.net控件解决不了,比如checkbox单选,全选问题,自动计算总价问题,刷新问题,等等.那时感觉javascri ...
- javascript知识点记录(1)
javascript一些知识点记录 1.substring,slice,substr的用法 substring 和slice 都有startIndex 和 endIndex(不包括endInex),区 ...
- Javascript的简介和使用
摘要:先讨论JavaScript的由来和一些比较容易混淆的概念,又讨论了JavaScript的实现,紧接着说明了在网页中怎么有效地更好地引入js代码. JavaScript的由来 是从一个简单的输入验 ...
随机推荐
- linux工作队列
工作队列一般用来做滞后的工作,比如在中断里面要做很多事,但是比较耗时,这时就可以把耗时的工作放到工作队列.说白了就是系统延时调度的一个自定义函数. 工作队列是实现延迟的新机制,从 2.5 版本 Lin ...
- easyui 文本框 显示提示信息data-options="prompt:'格式:水箱支架-京东汽配店铺-图集(大图/图集6)'"
<tr> <td>图集6:</td> <td> <input class="easyui-textbox" data-opti ...
- POJ 2151 概率DP
主要的子问题是每一个队伍有一个做出题目的概率,求做出k个题目的概率.简单的简单的组合数DP.想清楚即可. 1: #include <iostream> 2: #include <cs ...
- 【学习总结】【多线程】 线程 & 进程 & NSThread(多线程的一套API)
一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开 Chrome.Xcode,系统就会分别启动2个进 ...
- Truncating HTML attribute value in SharePoint DataFormWebPart
<xsl:value-ofdisable-output-escaping="yes"select="@Body"/>
- IIS (HTTP Error 500.21 - Internal Server Error)解决
今天在测试网站的时候,在浏览器中输入http://localhost/时,发生如下错误: HTTP Error 500.21 - Internal Server Error Handler " ...
- Codeforces Round #346 (Div. 2) E - New Reform 无相图求环
题目链接: 题目 E. New Reform time limit per test 1 second memory limit per test 256 megabytes inputstandar ...
- spring4+hibernate3
环境说明:spring4.0+hibernate3 数据库:oracle 连接池:c3p0 项目结构: lib中的jar: 一.配置spring.xml 说明:这里采用的配置模式将hibernateT ...
- redisb并发访问慢出现的问题
最近项目一上线,就问题颇多,本地测试,ok,上线后,大用户量的时候,顶不住.用了一个礼拜的时间发现的问题,总结下来. 项目是netty4.0,reids2.8,nginx等框架.目前是4台proxy服 ...
- Android:activity跳转过渡效果
放在startActivity(intent);后面 overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out) ...