1# Starting a Local PageAbility
2
3
4The capabilities related to the PageAbility are provided through the **featureAbility** class. For example, **startAbility()** in **featureAbility** is used to the PageAbility.
5
6**Table 1** featureAbility APIs
7
8| API| Description|
9| -------- | -------- |
10| startAbility(parameter: StartAbilityParameter) | Starts an ability.|
11| startAbilityForResult(parameter: StartAbilityParameter) | Starts an ability and returns the execution result when the ability is terminated.|
12
13
14The following code snippet shows how to explicitly start a PageAbility through **startAbility()**. The parameters passed in for starting an ability include **want**. For details about the **want** parameter as well as implicit startup and explicit startup, see [Want](want-fa.md).
15
16```ts
17import featureAbility from '@ohos.ability.featureAbility';
18import Want from '@ohos.app.ability.Want';
19import hilog from '@ohos.hilog';
20
21const TAG: string = 'PagePageAbilityFirst';
22const domain: number = 0xFF00;
23```
24```ts
25(async (): Promise<void> => {
26  try {
27    hilog.info(domain, TAG, 'Begin to start ability');
28    let want: Want = {
29      bundleName: 'com.samples.famodelabilitydevelop',
30      moduleName: 'entry',
31      abilityName: 'com.samples.famodelabilitydevelop.PageAbilitySingleton'
32    };
33    await featureAbility.startAbility({ want: want });
34    hilog.info(domain, TAG, `Start ability succeed`);
35  }
36  catch (error) {
37    hilog.error(domain, TAG, 'Start ability failed with ' + error);
38  }
39})()
40```
41